65,187
社区成员




basic_string(const _Elem *_Ptr)
: _Mybase()
{ // construct from [_Ptr, <null>)
_Tidy();
assign(_Ptr);
}
在vs2012里,赋值就会出错。
basic_string(const _Elem *_Ptr)
: _Mybase()
{ // construct from [_Ptr, <null>)
_Tidy();
assign(_Ptr);
}
char * lpStr = NULL;
string loStr = lpStr;
嗯 这个编译自然是没有问题的 应为编译器不会去检查一个指针到到底指向的是那块内存,但是由于在string的构造函数里面要拷贝char *开头的那个字符串 自然要访问这块内存
但是不巧的是 凡是试图在0号内存(NULL指针的位置)读取和写入数据的行为都是不允许的 这块内存是不可读 不可写的权限高 所以运行时会出错;
至于脚本语言 由于没学过 所以不懂噻