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

C++的一个问题,比方char[]="very good";string b=char;

翻阅古今
浏览 64回答 2
2回答

子衿沉夜

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

手掌心

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