无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

c++11的 std::array 的一個(gè)小例子

2023-05-13 17:12 作者:盧朓  | 我要投稿

/**
?* clang++ index1.cpp -std=c++11
?*
?* c代碼里有 int a[4] 這樣的內(nèi)置數(shù)組,在c++中增加了
?* std::array 類,是對(duì)這樣內(nèi)置數(shù)組類型的增強(qiáng)版。
?* 但是又和 std::vector不同. std::array 在聲明的
?* 時(shí)候需要給定類型和大小,聲明后不支持大小的改變。
?*/
# include <iostream>
# include <array>

int main(int argc, char const *argv[])
{
?? ?/**
?? ? * 可以直接用{}表達(dá)式來直接初始化
?? ? */
? std::array<int, 3> a0 = {1, 2, 3};?? ?
?? ?/**
?? ? * 可以用具有已有的std::array 來初始化
?? ? */
? std::array<int, 3> a1 = a0;??????????????????? ?
?? ?/**
?? ? * array不可以用變量指定
?? ? * 下面兩行代碼編譯的時(shí)會(huì)報(bào)錯(cuò)
? int m = 5;
? int b[m];???????????????????????????????? //正確,內(nèi)置數(shù)組
?? ? */
?? ?/**
?? ? * 下面兩行編譯也會(huì)錯(cuò)誤的
?? ? const int m =5
?? ? int? b[m];
?? ? */
?? ?/**
?? ? * 但是下面兩行代碼能夠編譯成功
?? ? */
?? ?constexpr int m = 3;
?? ?int b[m];
?? ?/**
?? ? * 代碼的代碼也無法編譯通過,因?yàn)閎是一個(gè)內(nèi)置數(shù)組
? std::array<int, 3> a4 = b;??????????????? //錯(cuò)誤,array不可以用數(shù)組指定
?? ? */
?? ?/**
?? ? * 這個(gè)是可以的編譯成功的
?? ? */
? std::array<int, 3> a2; ?
?? ?a2 = a0;
?? ?/**
?? ? * m 是 int 或者const int 下面的一行都無法編譯通過,
?? ? * 但是 m 是一個(gè)constexpr int , 下面是可以成功編譯的
?? ? */
? std::array<int, m> a3;????????????????? ?
?? ?/**
?? ? * a2 是一個(gè)std::array, 下面的給a4賦值也是可以編譯的
?? ? */
? std::array<int,3> a4 = a2; ?? ?
?? ?/**
?? ? * a2 是一個(gè)std::array, 下面以a2為參數(shù)的構(gòu)造函數(shù)也是可以的。
?? ? */
? std::array<int,3> a5(a2); ?? ?

?? ?std::cout<<"順序輸出"<<std::endl;
?? ?for(auto it = a5.begin(); it != a5.end(); it++){
?? ??? ?std::cout<< *it << std::endl;
?? ?}

?? ?std::cout<<"逆序輸出"<<std::endl;
?? ?for(auto it = a5.rbegin(); it != a5.rend(); it++){
?? ??? ?std::cout<< *it << std::endl;
?? ?}

? return 0;
}


c++11的 std::array 的一個(gè)小例子的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
玛曲县| 安多县| 乌鲁木齐市| 大关县| 读书| 本溪| 施秉县| 屏山县| 芒康县| 金溪县| 赣州市| 上杭县| 三明市| 柳河县| 体育| 定结县| 吉首市| 肇州县| 东港市| 赤峰市| 青龙| 枣阳市| 大丰市| 石楼县| 新泰市| 乌拉特前旗| 永年县| 大方县| 霍邱县| 昌吉市| 沈丘县| 曲阳县| 永州市| 康保县| 保德县| 鹤山市| 扎赉特旗| 理塘县| 安泽县| 开封市| 新晃|