proposal에서 추론하기가 어려웠습니다.
C++ 17 구조화 된 바인딩은 식별자를 왼쪽에서 오른쪽으로 초기화합니까?구조화 된 바인딩의 idendifier가 순서대로 초기화됩니까?
"first", "second", "third"를 인쇄 할 수 있습니까?
#include <iostream>
struct A{ A(){std::cout << "first\n"; } };
struct B{ B(){std::cout << "second\n"; } };
struct C{ C(){std::cout << "third\n"; } };
struct D{
A first;
B second;
C third;
};
auto f(){
return D{};
}
int main(){
auto [a,b,c] = f();
}
제안서 (친절하고 환영하는 말)를 읽은 후에 나는 그것이 "추론하기 어렵다"라고 말할 것입니다. 그러나 불가능한 *. 제안서에 몇 가지 예가 나와 있지만 평가 순서 나 순서에 대해서는 명시 적으로 언급하지 않습니다. –
나는 C++이 선언 순서에 의한 클래스에서 이미 객체 초기화 시퀀스를 정의했다고 생각 하나? – Mine
@JoachimPileborg 오른쪽. 나는 문법 추가에서 분명히 기대하고있다. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0217r2.html –