MSVCRT std::vector 新しいページはコチラ
提供: yonewiki
(→メンバ関数) |
(→メンバ関数) |
||
52行: | 52行: | ||
※なんかややこしい型名になっていますが、vector型で扱う他の関数も含めて、配列の位置情報を返す型はIteratorという型名になっています。独自の型名定義にすることで、間違った引数を受け取らないようになっています。数値を受け取るはずなので、内部では単純にInt型のようなものと同じように扱われている筈です。TypeTemplateと書いた部分はよく見るリファレンスなんかでは単に T と表記されるものです。TypeTemplateは型名です。上記のサンプルプログラムではIntで定義されている部分です。const int なので、直接数字を入れれば、const intの扱いになる感じです。Tあらゆる型に対応するためのTemplateというモノです。char** でもいいし、float、longなんでも来いや!なのです。因みに&&は[[Cpp 右辺値参照]]です。右辺値参照の説明はリンク先にあります。サンプルプログラムの10は右辺値なのでね。そして、この関数自体も戻り値は Iterator になっています。 | ※なんかややこしい型名になっていますが、vector型で扱う他の関数も含めて、配列の位置情報を返す型はIteratorという型名になっています。独自の型名定義にすることで、間違った引数を受け取らないようになっています。数値を受け取るはずなので、内部では単純にInt型のようなものと同じように扱われている筈です。TypeTemplateと書いた部分はよく見るリファレンスなんかでは単に T と表記されるものです。TypeTemplateは型名です。上記のサンプルプログラムではIntで定義されている部分です。const int なので、直接数字を入れれば、const intの扱いになる感じです。Tあらゆる型に対応するためのTemplateというモノです。char** でもいいし、float、longなんでも来いや!なのです。因みに&&は[[Cpp 右辺値参照]]です。右辺値参照の説明はリンク先にあります。サンプルプログラムの10は右辺値なのでね。そして、この関数自体も戻り値は Iterator になっています。 | ||
− | + | 全部分からなくても良いですが、他にも同じことをするために様々なパターンで引数を設定できて、多重定義になっています。 | |
<syntaxhighlight2 lang="cpp"> | <syntaxhighlight2 lang="cpp"> | ||
iterator obj.insert( iterator position, const TypeTemplate& data); | iterator obj.insert( iterator position, const TypeTemplate& data); |