C++的一個問題,比方char[]="very good";string b=char;
2 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊
首先char是關(guān)鍵字,您的意思應(yīng)該是
char ch[]="very good"; string b = ch;
這是因?yàn)閟tring有構(gòu)造函數(shù):
string(const char* c);能夠?qū)⒁粋€char*類型的地址轉(zhuǎn)換為一個string變量
而string b = ch;則會調(diào)用該函數(shù)(注意不是復(fù)制構(gòu)造函數(shù))。即
string b = ch;等價(jià)于string b(ch);

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個贊
不相信C++下char[]="very good";string b=char;這兩句代碼的正確性——char是C/C++的保留字,不可以用來做用戶數(shù)組名,這樣寫編譯恐怕都過不了。如果不用char而用別的什么如str,那么string b=str;就是聲明一個string類對象b,并用str指向的字符串初始化。
- 2 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)
0/150
提交
取消