Nicolai M. Josuttis の「The C++ Standard Library (Second Edition)」を読んでいて、std::pair
. 著者は次のように述べています。
C++11 以降
pair<>
、非定数のコピー コンストラクターのみを持つ型を使用すると、コンパイルされなくなりました。
次に、彼は次の例を挙げます。
class A
{
public:
...
A( A& ); // copy constructor with nonconstant reference
...
};
std::pair<A, int> p; // Error since C++11
しかし、標準委員会が標準ライブラリ標準にこの修正を加えることにした理由に興味がありますか? その理由をググってみましたが、関連するものを見つけることができませんでした。