string arr[]={'a', 'b', 'c'}和string arr[] ="abc"有什么区别
如果是char类型的话,这又和string有什么区别
首先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。
string arr[]={'a', 'b', 'c'}和string arr[] ="abc"有什么区别:没什么区别,第二种是第一种的简化形式。char的话一个变量只保存一个字符