前提・実現したいこと
とあるサイトでC++のstd::vectorを学習しています。
手を動かしてさくさく理解する C++ 動的配列クラス std::vector 入門
そこでstd::vectorの代入演算子の定義を読んだのですが、
一部の読み方がよくわかりません。
定義を読めるように説明していただけませんか。
発生している問題
operator=(const vector<T>&) : vector<T>&
たぶん「operator=」は演算子=の定義であることを表していて、
「const vector<T>&」はconstだから右辺のオペランドであると考察しています。
ただ「:」以降に書かれている「vector<T>&」の正体がわかりません。
いくつか候補を考えました
①左辺に代入する値(今回の場合は右辺オペランドと同値)
②実は2つ目の引数で、左辺の値
③返り値( if(a=b)など、述語として使う場合に用いる?)
よろしくお願いします。
該当のソースコード
試したこと
- 「演算子の定義 読み方」で検索
- 「オペレータの定義 読み方」で検索
- 「演算子のオーバーロード 読み方」で検索
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/05 09:31