string str = "" 是不是相当于没有初始化
#include <string>
#include <iostream>
using namespace std;
--错误:
void main()
{
string aa = ""; --初始化为""
strcpy((char *)aa.c_str(),"djsfsad"); --出现错误
cout << aa << endl;
}
--正确:
void main()
{
string aa = " "; --随便初始化为空格
strcpy((char *)aa.c_str(),"djsfsad"); --正确通过
cout << aa << endl;
}
是不是string aa = "";还是没有为aa变量分配空间,而aa = " ";就有
还是函数strcpy的问题?
假如现在必须用类似strcpy这样写法(sprintf和memcpy也出现同样问题),是不是aa不能初始化为""?