簡體   English   中英

C ++:char test [100]與數組 <char, 100> vs字符串

[英]C++: char test[100] vs array<char, 100> vs string

如果我知道一個長度固定的字符串,應該使用什么?

char test[100]
std::array<char, 100> test
std::string test

謝謝!

答案在以下問題中:

如果我有一個字符串 ...

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

在C ++中,應將字符串聲明為string實例。 但是,如果您需要它為常量,則將其聲明為const string並正確初始化。

char test[100]不是字符串,而是100個字符的C數組(可根據需要用於構建C ++字符串)。

std::array<char,100> test只是一個由數百個字符組成的C ++數組,與字符串無關。

無論您知道它是否為恆定長度,幾乎總是建議您使用std::string 將字符串包含在實際的字符串對象中,使您可以查詢字符串的元信息(例如長度),並更好地與C ++功能集成以處理字符串。 如果確保字符串/ cannot /不能超過100個字符對您來說至關重要,那么您可能會發現

std::array<char, 100>

是有價值的,但是我想不出除了使用字符串之外,還希望具有該功能的任何情況。

除非有其他原因,否則您應該首選std::string 這不僅表明數據是一個字符串,而且還獲得了所有不錯的字符串函數。

您還獲得了好處,如果您決定更改代碼並允許使用可變的/較大的字符串,則無需更改任何內容,因為std::string可以縮放

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM