陣列(C++)

文章推薦指數: 80 %
投票人數:10人

在現代C++ 中,強烈建議您使用std::vector 或std::array ,而不是本節所述的C 樣式陣列。

這兩種標準程式庫類型都會將其元素儲存為連續記憶體區塊。

跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 語言 閱讀英文 儲存 目錄 閱讀英文 儲存 Twitter LinkedIn Facebook 電子郵件 目錄 陣列(C++) 發行項 05/04/2022 6位參與者 本文內容 陣列是相同類型的物件序列,佔用連續記憶體區域。

傳統的C樣式陣列是許多Bug的來源,但仍很常見,特別是在較舊的程式碼基底中。

在現代C++中,強烈建議您使用std::vector或std::array,而不是本節所述的C樣式陣列。

這兩種標準程式庫類型都會將其元素儲存為連續記憶體區塊。

不過,它們提供更大的型別安全性,並支援保證指向序列內有效位置的反覆運算器。

如需詳細資訊,請參閱容器。

堆疊宣告 在C++陣列宣告中,陣列大小是在變數名稱之後指定,而不是在類型名稱後面指定,如同某些其他語言一樣。

下列範例會宣告要配置於堆疊上的1000個雙精度浮點數的陣列。

元素數目必須以整數常值形式提供,否則為常數運算式。

這是因為編譯器必須知道配置多少堆疊空間;它無法使用在執行時間計算的值。

陣列中的每個元素都會指派預設值0。

如果您未指派預設值,每個元素一開始都會包含該記憶體位置發生的任何隨機值。

constexprsize_tsize=1000; //Declareanarrayofdoublestobeallocatedonthestack doublenumbers[size]{0}; //Assignanewvaluetothefirstelement numbers[0]=1; //Assignavaluetoeachsubsequentelement //(numbers[1]isthesecondelementinthearray.) for(size_ti=1;i//IncludesDBL_MAX #include constintcMkts=4,cFacts=2; //Declareafloatthatrepresentsthetransportationcosts doubleTransportCosts[][cMkts]={ {32.19,47.29,31.99,19.11}, {11.29,22.49,33.47,17.29}, {41.97,22.09,9.76,22.55} }; //Calculatesizeofunspecifieddimension constintcFactories=sizeofTransportCosts/ sizeof(double[cMkts]); doubleFindMinToMkt(intMkt,doublemyTransportCosts[][cMkts],intmycFacts); usingnamespacestd; intmain(intargc,char*argv[]){ doubleMinCost; if(argv[1]==0){ cout< usingnamespacestd; intmain(){ doublemulti[4][4][3];//Declarethearray. double(*p2multi)[3]; double(*p1multi); cout<



請為這篇文章評分?