std::begin
和std::end
知道container
或array
的開始和結束。std :: end如何知道數組的結尾?
例如,它很容易知道end
和begin
的vector
,因爲它是提供此信息的類。但是,它如何知道如下所示的array
的結束?
int simple_array[5]{1, 2, 3, 4, 5};
auto beg=std::begin(simple_array);
auto en=std::end(simple_array);
std::begin
是不是很難知道從哪裏數組開始。但它是如何知道它結束的?將整數5
存儲在什麼地方?
如果我有一些低級信息的答案,我將不勝感激。
謝謝,看來我錯過了很多東西..我應該問「什麼是數組」。你的意思是說,該數組是一種小指針開始的指針和一些元素?你能指出我可以詳細閱讀嗎? –
具有相同基本類型但長度不同的兩個數組仍然是兩種完全不同的類型。 'int [3]'與'int [2]'不一樣。然而,在這兩種情況下,數組衰減會給你一個'int *'。閱讀[如何在C++中使用數組?](http://stackoverflow.com/q/4810664/183120),如果想知道更多的數組。 – legends2k
是的,這正是我從你的答案中得出的結論。再次感謝 –