如果我有一個字符串,我知道它的長度是固定的,我應該使用什麼?C++:char test [100] vs array <char, 100> vs string
char test[100]
std::array<char, 100> test
std::string test
謝謝!
如果我有一個字符串,我知道它的長度是固定的,我應該使用什麼?C++:char test [100] vs array <char, 100> vs string
char test[100]
std::array<char, 100> test
std::string test
謝謝!
在C++中,字符串應聲明爲string
實例。但如果你需要它是恆定的,那麼聲明它爲const string
並正確初始化它。
char test[100]
不是一個字符串,而是一個100個字符的C數組(如果需要可以用來構建一個C++字符串)。
std::array<char,100> test
只是一個數百個字符的C++數組,與string沒有任何關係。
答案就在問題:
如果我有一個串 ...
如果你有一個字符串,使用std::string
。除非你有非常具體的要求,你沒有提到。
除非你有其他原因,否則你應該更喜歡std::string
。這不僅表明數據是一個字符串,而且還可以獲得所有漂亮的字符串函數。
您還可以得到,如果你決定改變代碼,並允許可變/尺寸較大的字符串,然後你不」需要改變任何東西作爲std::string
將規模
你是否知道這將是固定長度或沒有好處,幾乎總是建議您使用std::string
。讓字符串包含在實際的字符串對象中使您能夠查詢元信息的字符串(例如長度),並更好地與C++功能集成來處理字符串。如果確保串/不/超過100個字符是你的超級重要的,你可能會發現
std::array<char, 100>
是有價值的,但我想不出任何情況下,您寧願有這個功能不僅僅是使用一個字符串。
'std :: string',它提供了一個...字符串 – quantdev
的接口取決於你想要用它做什麼 – Fanax