一.问题描述
在c++ std::string或者std::wstring 中是否可以使用nullptr初始化,首先可以说的是是可以用nullptr初始化的,但是程序编译没有问题,运行起来就挂了,char*是可以初始化为nullptr的,为啥以char*为基础的std::string不能以nullptr初始化
二.问题研究
调试一下代码发现最终是在std::strlen里面挂了,该函数会测量指针对应的内存数据大小,nullptr访问权限出错,如下
size_t __cdecl strlen
(_In_z_ char const* _Str
);