1. ホーム
  2. c++

[解決済み] C++ ダブルアドレス演算子?(&&)

2022-03-07 23:20:02

質問

STLのソースコードを読んでいるのですが、何が何だかさっぱりわかりません。 && のアドレス演算子を使用することになっています。以下はそのコード例です。 stl_vector.h :

vector&
operator=(vector&& __x) // <-- Note double ampersands here
{
    // NB: DR 675.
    this->clear();
    this->swap(__x); 
    return *this;
}

Address of Address"は、何か意味があるのでしょうか?なぜアドレス演算子が1つではなく、2つあるのですか?

どのように解決するのですか?

これは C++11 のコードになります。 C++11では && トークンは "rvalue reference" を意味するために使用することができます。