关于c++模板机制的一个小问题。假设我们有一个名为 Point 的类。现在假设“Data”是一个模板类/容器,只包含 T(模板)数据成员。 也就是说,“数据”看起来或多或少是这样的:
Template <class T>
class Data {
T dMember;
……..
};
现在假设有人在 main.cpp 文件中使用此类并执行以下声明:
Data<Data<Point>> d;
我试图完全理解创建的对象的外观。我试图使用编译器进入类调用但无济于事。我知道 Data 需要初始化 Data 所以它会调用自己一次,但它到底做了什么?是否有构造函数被激活?
谢谢, 盖伊
最佳答案
这就像在下面的例子中实例化 Data2
:
class Data1 {
Point dMember;
};
class Data2 {
Data1 dMember;
};
Data2 d; // = Data<Data<Point>> d;
基本上,Point
的包装。
关于模板调用中的 C++ 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346865/