在下面的代码中,两次赋值有什么区别吗?在这两种情况下,value.v 是否会被默认构造,而 x 会被初始化为 42?
struct S { std::vector<int> v; int x = 42; }; S value; void foo() { value = S(); value = { }; }
c++ list-initialization c++17
c++ ×1
c++17 ×1
list-initialization ×1