将字符数组赋给string字符串报错
这一行代码“string b = a"还没有执行,当然没有值。
■网友
没有报错,是你不会用IDE。
■网友
string并没有重载和字符数组的拷贝操作,反过来拷贝也是一样,string定义了转换为字符数组的成员函数。string具有以字符数组为参数的构造函数。所以你可以使用:string a(b);或者是string a=string(b);这里b是字符数组。第一种是构造函数的语法,第二种是类型转换的语法。通过这个例子也许你会明白为什么cpp中更喜欢int a=int (3.14);而非int a = 3.14;无论是内置类型还是类类型,括号初始化相比赋值初始化更好用。
推荐阅读
- C语言 指针引用数组的地址问题
- Windows中文件名最大字符数
- C语言多维数组声明调用和c为啥差别这么大
- json下面代码字符编码的规则是啥
- AWS或阿里云为何使用密钥对而不是单一字符串作为 Token
- Matlab中怎样在一个array中分别辨字符串和数值
- 编译原理:符号表中为啥要设计字符串表这样一种数据结构
- vb开发中字符串传参出现‘口’符
- 数组随机存取的时间效率会受到啥因素影响
- 在图像处理中,图像经过傅里叶变换得到一个复数的数组,复数数组经过变换可以得到幅度图,修改幅度图之后,通过幅度图咋再得到复数数组
