string arr[]={'a', 'b', 'c'}和string arr[] ="abc"有什么区别
如果是char类型的话,这又和string有什么区别

c++中字符串数组string 和char问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- bostonAlen 2022-04-13 00:42关注
首先string arr[]={'a', 'b', 'c'},string arr[] ="abc" ,这两句话都是错误的。
string arr[]表示的是一个string的数组,也就是说数组中每个元素都是一个string
所以你得写成string arr[]={"a", "b", "c"}或者string arr[]={"abc", "bcd", "efg"};字符串都是需要双引号的,
至于字符数组,你需要写成这样 char arr[]={'a', 'b', 'c'};
或者初始化一个字符串string arr ="abc";
对于c++的string来说,char* 可以作为string的构造函数参数,因为string内部的实现就是一个char*的data。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用