C++11 초기 값{}과()의 차이

1205 단어 C++11C++

#include 
#include 
using namespace std;
/*
 *  A1            ;
 *//B1     std::initializer_list
 * B2       initializer_list
 *
 *
 * */
class Hello{

        char* hello = 0;//A1            ;
public:
        ~Hello();
        Hello(const char* h);
        Hello(const char* h,const char* j);
        Hello(std::initializer_list);//B1     
        Hello(const Hello &obj);
};
Hello::Hello(const Hello &obj)
{
        cout < vals)
{
        char* x=(char*)vals.begin();
        hello=strdup(x);
        cout <<__func__ hello="" char="">)"<hello)
                free(this->hello);
}

#endif

int main()
{
        int a{0};
        int b(0);
//      int c{0.3}; error     
        int d(0.3);

        Hello H1("H1","H1");
        Hello H2{"H2","H2"}; //B2       initializer_list
        Hello H3{"H2","H2","XX"}; //      initializer_list
        return 0;
}

요약:int b(1.4)는 좁 고 유형 전환 이 가능 합 니 다.(곶)안 됩 니 다.사용자 정의 클래스 대상 을 초기 화 할 때(곶 은 initializer 를 우선 사용 합 니 다.list 의 구조 함수.

좋은 웹페이지 즐겨찾기