Help us understand the problem. What is going on with this article?

C++のVectorをint型で使ってみる。

More than 5 years have passed since last update.

概要

C++のSTLで与えられるVectorの機能をまとめる。
C言語を使っている人がわかるように心がける。

Vectorってなに

VectorとはC++版、配列の動的確保と考えておけばいいと思う。
mallocと同じようなもんだ。
クラスが使えるというメリットがあるのではないだろうか。
構造体も同様に使える。
今回のようなint型の動的確保であればC言語を使っている人間はmallocで足りそうである。

ソースコードを見てみる

ソースコードを以下に示す。

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<int> test1(5);       //int型のVectorをtest1という名前で5つ確保


    for (int i = 1; i < 6; i++)
        test1.push_back(i); //末端にiという数字を追加される

    for (int i = 0; i < 10;i++)
        cout << test1[i];   //表示をしてみる

    cout << endl;           //改行

    for (int i = 0; i < 5; i++)
        test1.pop_back();   //末端から削除される

    for (int i = 0; i < 5; i++)
        cout << test1[i];   //末端から削除されてるか確認する

    cout << endl;           //改行

    return 0;
}

ソースコード中に

cout << test1[i];
cout << endl;

と言った表記があるが、これはCの以下の様なものと理解してほしい。

printf("%d",test1[i]);
printf("\n");

概ねコメントアウトしてある。
ここでは以下の2つの関数が利用されている。

  • push_back(); 末端にデータを追加する。
  • pop_back(); 末端のデータを削除する。

動作確認

実際に実行すると

0000012345
00000
続行するには何かキーを押してください . . .

と表示することができた。
確かに末端にデータが追加され、末端からデータが削除されている。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away