2013-07-06 27 views

回答

13

這不是一般的好,因爲size()返回類型可以輕鬆擁有太大在int存儲值。對於特定的vector,您應該使用與返回類型size()相同類型的變量。這是很容易與auto實現:

auto n = a.size(); 

如果你沒有C++ 11的支持,那麼你可以使用vectorsize_type

std::vector<TheType>::size_type n = a.size(); 

其中astd::vector<TheType>

+0

後者是相當一口。什麼使它值得呢? – delnan

+2

@delnan「如果你沒有C++ 11的支持,」...... – 2013-07-06 16:18:45

+0

@delnan在沒有C++ 11的情況下,它是必要的,當然它可以用typedef來分配。 – juanchopanza

8

不,它不好。使用

std::vector<T>::size_type n = a.size(); 

,或者如果你不太迂腐:

size_t n = a.size(); 
+7

**爲什麼downvote?** – 2013-07-06 16:19:17

+0

使用auto會好很多,同意嗎? – user2381422

+1

@ user2381422如果你知道那麼好,那你爲什麼要問?Troll。 – 2013-07-06 16:32:43

5

如果你確定元素的數量將適合的int這沒關係。

相關問題