小编Nam*_*eOn的帖子

在一个C++案例中调用构造函数的顺序

#include <iostream>
struct A
{
    A(){std::cout<<"A()"<<std::endl;}
};

template<typename T>
struct B
{
    A a;
    T b;
    B(){std::cout<<"B()"<<std::endl;}
};

int main()
{
    B<B<B<int> > > Test;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

调用构造函数的方法是

A()
A()
A()
B()
B()
B()
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样.我以为这将是ABABA B.你能解释一下为什么吗?

c++ constructor

5
推荐指数
1
解决办法
84
查看次数

标签 统计

c++ ×1

constructor ×1