다음 코드 조각에서 d1의 초기화 프로그램이 아직 구성되지 않은 d2를 전달 (올바른?)하므로 D의 복사 생성자에서 d.j가 초기화되지 않은 메모리 액세스입니까?표준에 따라 초기화 순서가 보장됩니까?
struct D
{
int j;
D(const D& d) { j = d.j; }
D(int i) { j = i; }
};
struct A
{
D d1, d2;
A() : d2(2), d1(d2) {}
};
데이터 멤버의 초기화 순서에 대해 설명하는 섹션은 무엇입니까?
관련이 있지만 중복되지 않음 질문 : http://stackoverflow.com/questions/1589950/initializer-list-argument-evaluation-order –