美文网首页
C++的初始化方式

C++的初始化方式

作者: porridgechen890 | 来源:发表于2018-12-18 03:37 被阅读22次
    //问:C++语言有几种初始化方式?答:默认初始化、直接初始化、拷贝初始化、列表初始化。
    //问:如何区分直接初始化和拷贝初始化?答:是否使用等号。
    //问:初始化std::string对象有哪些方式?答:如下。
    //列表初始化用于内置类型的变量时,如果初始值存在丢失信息的风险,编译器将报错。
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main(int argc, const char * argv[])
    {
        //默认初始化
        string s1;//s1是一个空串。
    
        //直接初始化
        string s2("ab");//问:字符串字面值“ab"最后的空字符'\0'是否会被拷贝到s2中?答:不会。
        string s3(3, 'g');
        string s4(s3);
    
        //拷贝初始化
        string s5 = "cd";
        string s6 = s5;
    
        //列表初始化,即用花括号来初始化变量。在C++11新标准下,得到了全面应用。
        string s7{"ef"};
        string s8{s7};
    
        //列表初始化的额外好处
        double a = 3.14;
        //int b{a};//报错
        //int c = {a};//报错
        int d(a);//不报错
        int e = a;//不报错
    
        cout << s1 << endl << s2 << endl << s3 << endl << s4 << endl << s5 << endl
        << s6 << endl << s7 << endl << s8 << endl;
    
        return 0;
    }
    

    输出如下

    
    ab
    ggg
    ggg
    cd
    cd
    ef
    ef
    Program ended with exit code: 0
    

    相关文章

      网友评论

          本文标题:C++的初始化方式

          本文链接:https://www.haomeiwen.com/subject/enzhkqtx.html