Vector move constructor specification (copied outside the standard):
vector(vector&&);
Note the lack of noexcept . But both gcc 4.8 and Clang 3.2 report that std::is_nothrow_move_constructible<std::vector<int>>::value returns true (ie, 1):
#include<vector> #include<iostream> int main() { std::cout << std::is_nothrow_move_constructible<std::vector<int>>::value << '\n'; }
What is the reason for this apparent discrepancy?
source share