c++筆記五

編譯環境:因爲vc++6.0不支持c++11,所以換成了vs2012

13.array c++11的新類

頭文件#include<array>

定義方式array<類型,長度> 名稱;

實例:

#include<iostream>
#include<array>
#include <stdlib.h> 
#include<iomanip>
using namespace std;
void main()
{
	array<int,5> arr={1,2,3,4,5};
	for(size_t i=0;i<=4;i++)//第一種輸出遍歷方法
	{
		cout<<arr[i]<<endl;
	}
	for (int j:arr)//第二種遍歷方法
	{
		cout<<j<<endl;
	}
	for(int j:arr)//和函數差不多,傳入形參,j的改變不會改變arr
	{
		j=j+1;
	}
	for (int j:arr)//輸出測試
	{
		cout<<j<<endl;
	}
	for(int &j:arr)//傳入引用參數,裏面改變j會改變arr
	{
		j++;
	}
	for (int j:arr)//輸出測試
	{
		cout<<j<<endl;
	}
	
	system("pause");
}

14.用array定義二維空間,與二維數組類似

array<array<int,row>,column> arr={};

遍歷:for(int  const &rows:arr)    
    {
        for (int ele:rows)
        {
            cout<<ele<<" ";
        }
        cout<<endl;

    }

這裏的const是指rows在下面的循環裏不會改變。

for裏的int也可以換成auto,自動變成需要的類型。

15.vector與array相似,定義方式:vector<int> vec(5);int是類型,5是大小

可以用vector.push_back()來在最後面增加空間

#include<iostream>
#include<stdlib.h>
#include<vector>
using namespace std;
void outputvector(const vector<int> &);//自定義的輸出函數
void inputvector(vector<int>&);//自定義的輸入函數
void main()
{
	vector<int> interger1(5);//vector定義
	inputvector(interger1);
	outputvector(interger1);
	cout<<"vector size is"<<interger1.size()<<endl;//vector.size():vector大小
	interger1.push_back(7);//在vector最後插入一個7
	cout<<"vector size is"<<interger1.size()<<endl;//vector大小增1
	system("pause");
}
void outputvector(const vector<int> &vec)
{
	for(auto item:vec)
	{
		cout<<item<<" ";
	}
	cout<<endl;
}
void inputvector(vector<int>& vec)
{
	for(int &item:vec)
	{
		cin>>item;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章