1. std::string::data()的返回类型区别 在C++17以及之前的标准中,std::string::data()仅有一个返回类型const char *,MSVC遵守了这个规定。而GCC很早就有非标准扩展,重载了一个 char *data() noexcept; C++20标准引入了这个非标准扩展。