c++ string指针_C++里string类型的指针能不能用作数组

原问题:C++里string类型的指针能不能用作数组
分类:编程开发 > 最后更新时间:【2016-12-26 02:04:38】
问题补充:

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  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    19

    分享到:

    其他回答

    暂无其它回答!

      推荐