C++-アレイの概要

配列宣言

タイプarrayName[arraySize];

一次元配列

例えば:

int型の配列を宣言します

    //一维数组
    int ints[5] = {
    
    1,2,3,4,5};

    for (int i = 0; i < 5; ++i) {
    
    
        cout << ints[i] << " ";
    }

    cout  << endl;

二次元配列

    //二维数组
    int intss[3][3] = {
    
     {
    
    1,2,3},
                        {
    
    1,2,3},
                        {
    
    1,2,3}
                      };
    for(int i = 0;i<3;i++)
    {
    
    
        for(int j = 0;j<3;j++)
        {
    
    
            cout << intss[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;

結果:

1 2 3
1 2 3
1 2 3

オブジェクト指向の動的配列-C++のベクトル

元の配列との違いは何ですか:

1.元の配列を拡張できません;
2。元の配列のサイズがハードコーディングされています;
3。元の配列が範囲外になります。

単純な配列は問題が発生しやすいため、この時点で動的配列Vectorが誕生しました。

まず、必要なヘッダーファイルをインポートします。

#include "vector"
#include <stdio.h>
#include <iostream>
#include "vector"

using namespace std;

int main(void){
    
    
    //动态数组
    vector<int> va;

    va.push_back(1);
    va.push_back(2);

    cout << "va size:" << va.size() <<  endl;
    cout << "va capacity:" << va.capacity() <<  endl;

    for (const auto &item : va){
    
    
        cout << item << " ";
    }

    cout << endl;

    va.push_back(122);
    va.push_back(2333);
    va.push_back(23334);
    va.push_back(23335);

    cout << "va size:" << va.size() <<  endl;
    cout << "va capacity:" << va.capacity() <<  endl;

    for (const auto &item : va){
    
    
        cout << item << " ";
    }

    cout << endl;
    
	return 0;
}

演算結果:

Vector配列は動的に展開され、ユーザーは保存するサイズを手動で指定する必要がないことがわかります。

va size:2
va capacity:2
1 2
va size:6
va capacity:8
1 2 122 2333 23334 23335
  • va.size():動的配列の現在の値のサイズを照会します
  • va.capacity():動的配列が保持できるデータの現在の量を照会します
  • capacity()メソッドによって取得される動的配列のサイズは拡張サイズであることに注意してください。size()メソッドで取得したデータと同じではないのはなぜですか?実際、その理由は、何度も拡張するのではなく、より効率的に運用して効率を向上させるためです。

おすすめ

転載: blog.csdn.net/qq_17623363/article/details/120658637