C ++构造函数调用变体

时间:2016-05-30 14:55:57

标签: c++ templates constructor

在以下代码中

template <typename T> struct Maybe {
    T* context;

    Maybe(T *context) : context{context} {} .... }

声明

之间有什么区别
Maybe(T *context) : context{context} {} .... }

Maybe(T *context) : context(context) {} .... }

两个选项都可以顺利编译和运行。

1 个答案:

答案 0 :(得分:0)

不同之处在于前者是direct-list-initialization。后者是direct-initialization。在这种情况下,他们都做同样的事情。