vector の move コンストラクターの仕様は次のとおりです (標準からコピー)。
vector(vector&&);
の欠如に注意してくださいnoexcept
。しかし、gcc 4.8 と Clang 3.2 の両方std::is_nothrow_move_constructible<std::vector<int>>::value
が true (つまり 1) を返します。
#include<vector>
#include<iostream>
int main()
{
std::cout << std::is_nothrow_move_constructible<std::vector<int>>::value << '\n';
}
この明らかな不一致の原因は何ですか?