MSVCRT std::vector 新しいページはコチラ
提供: yonewiki
(→メンバ関数) |
(→メンバ関数) |
||
45行: | 45行: | ||
vector<TypeTmplate> obj;とした場合 | vector<TypeTmplate> obj;とした場合 | ||
− | *Iterator obj.Insert(Iterator | + | *Iterator obj.Insert(Iterator position, const TypeTemplate&& data); //上記のサンプルで使った引数の多重定義パターン |
※なんかややこしい型名になっていますが、vector型の他、配列の位置情報を返す型はIteratorという型名になっています。独自の型名定義にすることで、間違った引数を受け取らないようになっています。数値を受け取るはずなので、内部では単純にInt型のようなものと同じように扱われている筈です。どこかでTypeTemplateと書いた部分はよく見るリファレンスなんかでは単に T と表記されるものです。&&は[[Cpp 右辺値参照]]です。右辺値参照の説明はリンク先にあります。そして、この関数自体も戻り値は Iterator になっています。 | ※なんかややこしい型名になっていますが、vector型の他、配列の位置情報を返す型はIteratorという型名になっています。独自の型名定義にすることで、間違った引数を受け取らないようになっています。数値を受け取るはずなので、内部では単純にInt型のようなものと同じように扱われている筈です。どこかでTypeTemplateと書いた部分はよく見るリファレンスなんかでは単に T と表記されるものです。&&は[[Cpp 右辺値参照]]です。右辺値参照の説明はリンク先にあります。そして、この関数自体も戻り値は Iterator になっています。 | ||
− | + | 全部分からなくても良いですが、他にも同じことをするために引数を様々なパターンがあり多重定義になっています。 | |
<syntaxhighlight2 lang="cpp"> | <syntaxhighlight2 lang="cpp"> | ||
+ | iterator obj.insert( iterator position, const TypeTemplate& data); | ||
+ | iterator obj.insert(const_iterator position, const TypeTemplate& data); | ||
+ | void obj.insert( iterator position, size_type size, const TypeTemplate& data); | ||
+ | iterator obj.insert(const_iterator position, size_type n, const TypeTemplate& data); | ||
+ | iterator obj.insert(const_iterator position, initializer_list<TypeTmplate> Initializer_listTypeTemlate_obj); | ||
+ | |||
+ | |||
+ | template <class InputIterator>//を使う場合 | ||
+ | void obj.insert( iterator position, InputIterator first, InputIterator last); | ||
+ | iterator obj.insert(const_iterator position, InputIterator first, InputIterator last); | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
[[Windows#MSVC Runtimeリファレンス|MSVC Runtimeリファレンス]]に戻る | [[Windows#MSVC Runtimeリファレンス|MSVC Runtimeリファレンス]]に戻る |