Re: [求教]C++一個STL範例看不懂
※ 引述《BoHann.bbs@bbs.cis.nctu.edu.tw (延宕的人生)》之銘言:
> int temp[3] = {4,5,6};
> vector<int> container1(3);
> vector<int> container2(temp,temp+3);
> //請問這一行在寫什麼?我實在看不懂,上一行大概可以理解containter1
> //會有三個整數
> //那containter2到底是什麼,()裡面為什麼有兩個參數
> //第一個參數放的是陣列的名稱,第二個是陣列名稱+3
> //為什麼是陣列名稱?為什麼+3啊?書沒有說,請問各位高手囉!
> vector<int> container2(temp,temp+3);
> container1[0] = 1;
> container1[1] = 2;
> container1[2] = 3;
不曉得你用的是哪一本書,
我個人查 STL 都是從 cppreference.com 查來的。
關於 Vector constructor
http://www.cppreference.com/cppvector/vector_constructors.html
你上面的 container2 用的是上面那個 link 裡的第四種,
vector( input_iterator start, input_iterator end );
網頁裡的說明是:
The last constructor creates a vector that is initialized to
contain the elements between start and end.
簡單的說就是會把 vector 初始化為 start(包含) 至 end(不包含) 間的內容
由你的例子,container2會初始化為 temp[0] ~ temp[2] 的內容。
詳細的細節,不嫌麻煩的話可以追一下 vector 的程式碼。 XD
另外,翻翻 iterator 的說明應該也會有幫助。
dreamer. =)
--
╭╢師大資訊。白色情迷╟┬─ ⊙ Origin : snow.ice.ntnu.edu.tw
├╨→ 140.122.77.49←╜╰─ ☆ From : alg.csie.ntnu.edu.tw
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章