美文网首页Exceptional C++
【Exceptional C++(24)】变量的初始化

【Exceptional C++(24)】变量的初始化

作者: downdemo | 来源:发表于2018-01-30 14:01 被阅读4次
    T t = u; // 通过拷贝构造函数拷贝初始化
    // 虽然有=但仍然是一个初始化操作而非赋值操作
    // 允许用=只是为了沿用C的语法,operator=不被调用
    // 如果u也是T类型,与T t(u)等价,调用拷贝构造函数
    // 如果是其他类型,与T t(T(u))等价
    // u被转换成T类型临时对象,t由此拷贝构造出来
    T t(u); // 通过构造函数T::T(u)直接初始化
    T t(); // 看上去像变量声明,实际是一个函数声明
    T t; // t被默认构造函数T::T()初始化
    
    • 建议总是使用T t(u)形式,因为只要可以用T t = u的地方都可以用它,而且它还可以支持多个参数

    相关文章

      网友评论

        本文标题:【Exceptional C++(24)】变量的初始化

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