在STL中,像vector、list、string這些容器都含有max_size()這個函數,想請教一下,關於這個max_size()函數的值。在我機子上vector的max_size()=1073741823,list的max_size()=357913941,而string的max_size()=4294967294。。。請問這些值是固定的嗎?? 為什麼要設為這麼大的值??是由電腦的配置決定的嗎??? ***
謝謝。。。。****_
4294967294是2^32,也就是用一個int表示長度,能表示的最大值。
1073741823是上一個值的1/4,如果有什麼原因它需要的存儲是前者的4倍的話,那麼最大值就是1/4。
這個應該是C++編譯器/標准庫規范/操作系統決定的, 不是電腦配置決定的。