为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这样的语句是正确的?把一个地址赋给一变量

为什么这样的语句是正确的?把一个地址赋给一变量

C++
翻阅古今 2023-03-19 17:13:22
C++的一个问题,比方char[]="very good";string b=char;
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

首先char是关键字,您的意思应该是
char ch[]="very good"; string b = ch;
这是因为string有构造函数:
string(const char* c);能够将一个char*类型的地址转换为一个string变量
而string b = ch;则会调用该函数(注意不是复制构造函数)。即
string b = ch;等价于string b(ch);

查看完整回答
反对 回复 2023-03-22
?
手掌心

TA贡献1942条经验 获得超3个赞

不相信C++下char[]="very good";string b=char;这两句代码的正确性——char是C/C++的保留字,不可以用来做用户数组名,这样写编译恐怕都过不了。如果不用char而用别的什么如str,那么string b=str;就是声明一个string类对象b,并用str指向的字符串初始化。

查看完整回答
反对 回复 2023-03-22
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信