みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C++について

C++の独学初心者です
仕様書?やエラーの見方が全くわかりません

例えば
vscodeにてreverse()の関数の説明を見ると以下のような仕様書というのでしょうか?ものが見れますが
私はここからわかるのは返り値がvoidであるということぐらいがだいたい想像できるだけです
これはどの様に見れば良いのでしょうか?
解説している様なサイトがあれば教えてください
void std::__1::reverse<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::iterator>(std::__1::__wrap_iter<...> __first, std::__1::__wrap_iter<...> __last)

よろしくお願いします

投稿日時 - 2019-04-30 08:54:28

QNo.9611992

困ってます

質問者が選んだベストアンサー

>void std::__1::reverse

戻りがvoid型で、名前空間がstdの中の__1にあるreverseという名のメソッド。

><std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::iterator>

(メソッド)名前の直後に<>で括られている部分があるのはテンプレート化されているという事です。
reverseのテンプレート引数はstd::string_basic<>::iterator型(string_basicへのテンプレート引数にcharが指定されているのでstd::stringと同定義になる)です。

>(std::__1::__wrap_iter<...> __first, std::__1::__wrap_iter<...> __last)

__wrap_iterのようにアンダースコアで始まるのはc++標準ライブラリ(std)の内部用定義で、外部に仕様が公開されていないものです。
テンプレート引数が...になっているのは可変引数であることを意味しています。
reverseの引数としては、__firstと__endがあります。

投稿日時 - 2019-04-30 10:32:50

お礼

丁寧な解説ありがとうございました。
たすかりました。

投稿日時 - 2019-04-30 12:39:06

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)