2015-10-13 40 views

回答

2

在C++中,字符串應聲明爲string實例。但如果你需要它是恆定的,那麼聲明它爲const string並正確初始化它。

char test[100]不是一個字符串,而是一個100個字符的C數組(如果需要可以用來構建一個C++字符串)。

std::array<char,100> test只是一個數百個字符的C++數組,與string沒有任何關係。

7

答案就在問題:

如果我有一個 ...

如果你有一個字符串,使用std::string。除非你有非常具體的要求,你沒有提到。

0

除非你有其他原因,否則你應該更喜歡std::string。這不僅表明數據是一個字符串,而且還可以獲得所有漂亮的字符串函數。

您還可以得到,如果你決定改變代碼,並允許可變/尺寸較大的字符串,然後你不」需要改變任何東西作爲std::string將規模

1

你是否知道這將是固定長度或沒有好處,幾乎總是建議您使用std::string。讓字符串包含在實際的字符串對象中使您能夠查詢元信息的字符串(例如長度),並更好地與C++功能集成來處理字符串。如果確保串/不/超過100個字符是你的超級重要的,你可能會發現

std::array<char, 100> 

是有價值的,但我想不出任何情況下,您寧願有這個功能不僅僅是使用一個字符串。