看板Programming
标 题Re: [求教]C++一个STL范例看不懂
发信站白色情迷 (Wed Mar 14 00:31:11 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!mars.scc.ntnu!snowBBS
※ 引述《[email protected] (延宕的人生)》之铭言:
> 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