我需要深入的技術說明來解釋我要問什麼,而不是解決方案。「const char *」和「const string」之間的EXACT技術區別是什麼?
我一直在學習一個星期的指針,我很瞭解它。不過,雖然寫一個程序,我偶然發現了這個錯誤:
cannot convert ‘const std::string’ to ‘const char*’ for argument ‘2’ to ‘char* strcpy(char*, const char*)’
所以我string.c_str()
沒有問題的解決很容易。但我對這是爲什麼很感興趣。我一直在尋找瘋狂的爲什麼一個const字符串是不一樣的const
char *。當人們解釋一個字符串時,他們說它與char *沒有什麼不同,那麼爲什麼在字符串之前添加一個const不會使它成爲const char *
?
一個是類,一個是指向原始數據類型的指針? – Xymostech
'char *'是一個指向「字符串」的指針,但不是字符串本身。因此,那個錯誤 –