何時使用std::size_t
問題:
問題:
上下文:
<code class="c++">#include <cstdint> int main() { for (std::size_t i = 0; i < 10; ++i) { // std::size_t OK here? Or should I use, say, unsigned int instead? } }</code>
考慮以下程式碼片段:
答案:
通常, std::size_t 對於與此類型固有的值進行比較的迴圈條件是最佳的。
推理:
std::size_t 定義為任何 sizeof 表達式的型別。可以保證它可以表示任何 C 物件(包括陣列)的最大大小。因此,它保證了數組索引有足夠的容量,使其成為基於數組索引的循環迭代的自然選擇。
例如,在給定的程式碼片段中,由於循環變數 i 用作數組索引, std::size_t 是合適的類型。
例外:
在簡單地計數到預定數字的情況下,使用變數的值可能更合適資料型別、int 或unsigned int(如果大小允許) ,因為它們本質上匹配機器的體系結構。以上是對於循環,什麼時候最好選擇“std::size_t”而不是“int”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!