c++ 数组与vector

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>&)中的&不是很明白什么意思,有待解决。

 

posted @ 2016-08-10 23:31  xiaofeiyang  阅读(1368)  评论(0编辑  收藏  举报