1.定义数组可以不用规定其内存大小,如 int n[]={1,2,3,4,5};即为空间为5的一个数组。
2.const 的使用,const必须要初始化,否则会报错,而且初始化后,不能被改动。
3.静态局部数组与自动局部数组之间的区别:其实主要就是针对静态局部数组的一个分析,使用了 static,比如 static int arr[5],主要的区别就是如果我们使用了静态局部数组的话,一旦修改或者初始化的话,是对整个程序都是有效的,而自动局部数组只是对当前所在的函数有效。
#include<iostream> using namespace std; const int arraySize=3; void f1(){ static int a[arraySize]; for(int i=0;i<arraySize;i++) cout<<a[i]<<" "; cout<<endl; for(int i=0;i<arraySize;i++) cout<<(a[i]+=5)<<" "; cout<<endl; } void f2(){ int b[arraySize]; for(int i=0;i<arraySize;i++) cout<<b[i]<<" "; cout<<endl; for(int i=0;i<arraySize;i++) cout<<(b[i]+=5)<<" "; cout<<endl; } int main(){ f1(); f2(); cout<<"after:"<<endl; f1(); f2(); return 0; }
这个程序出现的结果有点奇怪,有bug,有待解决。
4.static_cast<double>表示转化为double类型。
5.多维数组的初始化int b[2][2]={{1,2},{3,4}}; 或者int b[2][2]={{1},{3,4}}表示第一行都初始化为1.
6.vector<int>intergers(8),注意vector可以自己定义大小。
7.void f(const vector<int>&)中的&不是很明白什么意思,有待解决。