由于C++兼容于C,为了用C++维护以前用C写的程序,可能会遇到用C写的array,但C++的std::vector远比array好用,所以可能必须将array转成std::vector继续维护,以下的程序demo如何将array转成std::vector。
1
/**/
/*
2
(C) OOMusou 2006 http://oomusou.cnblogs.com
3![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
4
Filename : ArrayToVectorByConstructor.cpp
5
Compiler : Visual C++ 8.0
6
Description : Demo how to convert array to vector by vector constructor
7
Release : 11/15/2006 1.0
8
12/10/2006 2.0
9
*/
10
#include
<
iostream
>
11
#include
<
vector
>
12
#include
<
algorithm
>
13![None.gif](/Images/OutliningIndicators/None.gif)
14
using
namespace
std;
15![None.gif](/Images/OutliningIndicators/None.gif)
16![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
int
main()
{
17
//const int iaSize = 11;
18![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
int ia[] =
{0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89};
19![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
20
// We specify the address of the first element of
21
// the array as 1st argument, and the address of
22
// one past the last element as 2nd argument.
23
vector<int> ivec(ia,ia + sizeof(ia)/sizeof(int));
24
copy(ivec.begin(), ivec.end(), ostream_iterator<int>(cout, "\n"));
25![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
26
return 0;
27
}
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
2
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
3
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
4
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
5
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
6
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
7
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
8
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
9
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
10
![None.gif](/Images/OutliningIndicators/None.gif)
11
![None.gif](/Images/OutliningIndicators/None.gif)
12
![None.gif](/Images/OutliningIndicators/None.gif)
13
![None.gif](/Images/OutliningIndicators/None.gif)
14
![None.gif](/Images/OutliningIndicators/None.gif)
15
![None.gif](/Images/OutliningIndicators/None.gif)
16
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](/Images/dot.gif)
17
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
18
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](/Images/dot.gif)
19
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
20
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
21
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
22
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
23
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
24
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
25
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
26
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
27
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
See Also
(原創) 如何将array转成std::vector? (使用vector.insert) (C/C++) (STL)