[類別] Array 樣板類別

在C++11發布後,提供了新的內建類別–array樣板類別
增加了更多函數,多了排列功能,提供程式開發者更多方便性

需要載入 <array> 標頭檔
C++11新增功能
C++11資訊 編譯器

基本資料

  • 元素數量固定
  • 相同型態
  • a[0]……a[n-1]
 
 
宣告
 
array <型態,元素數量> 名稱;
數量不得為變數
Ex:
#include <iostream>
#include <array>  //引入 <array> 標頭檔 
using namespace std;

int main(){
 
 array<int,10> str;   //建立包含10個整數型態的array物件 
  
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>

設值
善用
物件名稱.size();

Ex:

#include <iostream>
#include <array>  //引入 <array> 標頭檔 
using namespace std;

int main(){
 
 array<int,10> str; 
 
 //將物件str設值 
 for(size_t i=0;i<str.size();i++){
  
  str[i]=i;
  
 }
 
 //印出物件str元素 
 for(size_t i=0;i<str.size();i++){
  
  cout << str[i] << endl;
  
 } 
 
  
}

 

成員函數

取得array物件大小:

size();

取得array物件在某位置的元素值:

at(元素位置);

取得array物件最前面元素位址:

begin(物件名稱);

取得array物件最後面元素位址:

end(物件名稱);
排列array物件內元素:
需要載入<algorithm>標頭檔
(依照ASCII值排列)

sort(物件名稱.begin(),物件名稱.end());

Ex:

#include <iostream>
#include <array>  //引入 <array> 標頭檔 
#include <algorithm> ////引入 <algorithm> 標頭檔 
using namespace std;

int main(){
 
 array <int,10> str;
 
 cout << str.size() << endl; //取得物件str大小 
 
 str={10,9,8,7,6,5,4,3,2,1};
 
 //取出第(4+1)個值 (從0開始)
 cout << str.at(4) << endl;   
 
 cout << str.begin() << endl;   //取得最前面元素位址
 cout << str.end() << endl;     //取得最後面元素位址 
  
 sort(str.begin(),str.end());  //將str物件元素排序
 
 for(size_t i=0;i<str.size();i++){
  
   cout << str[i] << endl;
  
 } 
  
}

 

進階範例
不需要確認陣列大小:
#include <iostream>
#include <array>  //引入 <array> 標頭檔 
using namespace std;

int main(){
 
 array <int,6> items={1,2,3,4,5,6}; 

 for(int item:items)
 cout << item;
 
  
}

多維陣列:

 









#include <iostream>
#include <array>  //引入 <array> 標頭檔 
using namespace std;

int main(){
 
 array<array<int,6>,4> str; //產生6*4陣列 
 
  
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料