2016-03-10 65 views
1

考慮代碼片段:如果deque :: size在C++中溢出會怎麼樣?

std::deque<int> myints; 
size_type mySize = myints.size(); 

如果mySize溢出?有沒有辦法解決這個問題?

+0

deque的'size()'成員不能返回大於'max_size()'的值,它在'std :: numeric_limits :: max()'處出現。我看不出有什麼辦法可以預料會發生溢出,因爲德克無法持有足夠的物品來違反這個限制。 – WhozCraig

回答

0

在描述情況之前,您正在描述標準庫引發的異常。
例如push_front在德克將拋出的情況下,您已達到不能通過size_t代表的大小。

+0

什麼時候會出現這種情況? –

+0

deque的大小將隨push_front而增加。 當你push_front超過size_t的大小時,它會拋出。 – Matteo

相關問題