c++ string指针_C++里string类型的指针能不能用作数组
问题补充:
string *str;
str = new string();
str[0] = "f";
str[1] = "gg";//此处一直有问题,为什么
cout << str[1];
最佳答案
一个基础的问题,你的str = new string();只申请了一个string类的指针,不能做数组(或只有数组0)
你要这样才能用str[1];
str = new string[2]; //数组,下标为0和1
追问:
那请问为什么int型的就可以呢? int *n;n = new int();n[0] = 1;n[1] = 2;cout << n[1];这样子就是可以的,最后输出2
你的这个有内存溢出的,有些编译器会预留一定的空间,所以你没有报错但溢出的可能性是存在的,且这个结果是不可预见的,也就是你可能能正常运行但也可能在某些编译器及平台下会出错
最佳答案由网友 whoami1978 提供
其他回答
暂无其它回答!