【C++】vectorは超使える娘だった件【STL】

Pocket

【C++】vectorは超使える娘だった件【STL】

今回は、C++でも超重要といわれるSTL(※1)について勉強していきましょう。C++といえば、OOP(※2)と並ぶくらいの肝となるのが、このSTLです。小難しく思うのは、はじめだけ是非実際にプログラムを書いて体得してみてください。
C言語からやってきた人は、楽すぎて泣けてくると思いますよ。

※1.Standard Template Library (STL) は、プログラミング言語C++の規格で定義された標準ライブラリの一つ。ヒューレット・パッカード社在籍の研究者(当時)であったアレクサンドル・ステパノフ等によって考案され、後にANSI/ISO標準に組み込まれた。 1
※2.オブジェクト指向プログラミング(オブジェクトしこうプログラミング|英: object-oriented programming/OOP)は、オブジェクト指向の考え方[1]を取り入れたコンピュータ・プログラミング技術である。ソフトウェアの大規模化に伴い、より効率的な開発手法が模索される中で、1960年代にその概形が発案された。 2

出典:http://www.photo-ac.com/

vector は動的配列(コンテナ)

vectorクラスの優れているところは、必要に応じてメモリを割り当ててくれるため動的に配列の中身を増やすことができます。C言語ならその都度メモリを確保してとやってたかもしれませんが、C++のSTLにかかればそんな制約は、解決です。

いくつか宣言例を書いておきます。

vector iv;       // 長さ0のint型ベクタを作成
vector cv(20);    // 20個の要素を持つchar型のベクタを作成
vector cv(5, ‘x’);  // 5個の要素を持つchar型ベクタを’x’で初期化
vector iv2(iv);    // int型のベクタからint型のベクタを作成

実際にサンプルを打ち込んで値をってみましょう。

〇まとめ
v.size()     :ベクタに格納されている要素の数
v.push_back()  :ベクタの末尾に値を追加
v.begin()    :ベクタの最初の要素
v.end()     :ベクタの最後の要素
v.insert()   :ベクタの任意の位置に要素を追加

今流行りのプログラミングスクールについて調べてみた!
PHPマスターに最速4週間。憧れのWebプログラマーになれる!!
>> 人生をイージーモードに変える秘密はここから
Posted in: C++