이 코드가 내부적으로 어떻게 작동하는지 나는 C++ 11의 새로운 그리고 난 궁금 해서요 :표준 : 생성자에서 initializer_list 변환
class MyClass
{
public:
MyClass(int a, double b) {
cout << "ctor()" << endl;
}
};
int main()
{
MyClass i1{4, 7};
return 0;
}
새로운 초기화 목록의 나의 이해는 클래스 std::initializer_list
점이다 코드에서 특수 구문 { .... }
으로 생성되었습니다. 그렇다면 {4, 7}
에 의해 생성 된이 클래스 인스턴스는 내부적으로 생성자에 맞는 양식으로 변환되어 MyClass
이됩니까? 감사.
구문'{... }} *'std :: initializer_list'를 만들 수 있습니다. 아니면 다른 일을 할 수 있습니다. – immibis
@immibis 읽을 수있는 좋은 참조가 있습니까? – hovo
"Effective Modern C++"의 항목 6을 참조하십시오. – Mine