LoginSignup
4
1

begin()の使い方

Last updated at Posted at 2018-12-31

目的

begin()を使っていたら躓いたので、begin()の使い方を確かめてみる。

begin()は先頭要素を指すイテレータを取得する。
イテレータとはポインタのようなもの。

まず、1次元配列の場合

begin1.cpp
#include <cstdio>
#include <vector>

using namespace std;

int main() {
    vector <int> A{1, 2, 3};
    vector<int>::iterator itr;

    itr = B.begin();
    
    printf("Bの最初の値は : %d\n", *itr); //Bの最初の値を表示
}
出力結果
Bの最初の値は : 1

次に2次元配列の場合

begin2.cpp
#include <cstdio>
#include <vector>

using namespace std;

int main() {
    vector<vector <int> > B{{1, 2, 3},
                            {4, 5, 6}};
    vector<int>::iterator itr2;

    itr2 = B[0].begin();
    
    printf("B[0]の始め : %d\n", *itr2); //B[0]の始めを表示
}
出力結果
B[0]の始め : 1

ちなみに以下のようにするとSegmentation faultとなる。

    itr2 = B.begin(); 
    printf("Bの始め : %d\n", *itr2); //エラー
    itr2 = B.begin().begin();
    printf("B[0]の始め : %d\n", *itr2); //エラー
4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1