C++的array數組容器詳解

來源:互聯網
上載者:User

數組容器, 是儲存數組的容器, 是C類型數組的擴充, 可以使用迭代器進行操作;

例如"std::array<int, 5>", 需要注意的是, 如果直接進行賦值, "std::array<int, 5> ia = {1, 2, 3, 4, 5}; "

在GCC下會有警告: "missing braces around initializer for 'std::array<int, 5u>::value_type [5] {aka int [5]}' [-Wmissing-braces]"

原因是與初始化數組的方式不符, 再加一組"{}"即可, 如: "std::array<int, 5> ia ={{1, 2, 3, 4, 5}};", 使參數滿足int[5], 再進行賦值;

數組一般在初始化過程中賦值, 如果想替換已有的值, 一種方法是遍曆所有的值, 較複雜;

另一種方法是通過複製去重新賦值, 實現快速賦值;

代碼:

/*  * test.cpp  *  *  Created on: 2013.11.12  *      Author: Caroline  */      /*eclipse cdt; gcc 4.7.1*/      #include <iostream>  #include <array>        int main (void) {            std::array<int, 5> ia = {{1, 2, 3, 4, 5}};      for(const auto i : ia)          std::cout << i << " ";      std::cout << std::endl;            std::array<int, 5> ia2; // 空數組      //ia2 = {1, 2, 3, 4, 5}; //錯誤      ia2 = ia;      for(const auto i : ia2)          std::cout << i << " ";      std::cout << std::endl;            return 0;  }

作者:csdn部落格 Spike_King

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/cplus/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.