三种定义数组的方式:分别是C语言的定义方式、STL vector和C++11的array对象。
附源代码:
#include <iostream> #include <vector> // STL C++98 #include <array> // C++11 int main() { using namespace std; // C, original C++ double a1[4] = {1.2, 2.4, 3.6, 4.8}; // C++98 STL vector<double> a2(4); // create vector with 4 elements // no simple way to initialize in C98 a2[0] = 1.0; a2[1] = 1.0; a2[2] = 1.0; a2[3] = 1.0; // C++11 -- create and initialize array object array<double, 4> a3 = {3.14, 2.72, 1.62, 1.41}; array<double, 4> a4; a4 = a3; // valid for array objects of same size // use array notation cout << "a1[2]: " << a1[2] << " at " << &a1[2] << endl; cout << "a2[2]: " << a2[2] << " at " << &a2[2] << endl; cout << "a3[2]: " << a3[2] << " at " << &a3[2] << endl; cout << "a4[2]: " << a4[2] << " at " << &a4[2] << endl; // misdeed a1[-2] = 20.2; cout << "a1[-2]: " << a1[-2] <<" at " << &a1[-2] << endl; cout << "a3[2]: " << a3[2] << " at " << &a3[2] << endl; cout << "a4[2]: " << a4[2] << " at " << &a4[2] << endl; cin.get(); return 0; }-End-