gpt4 book ai didi

c++ - 包含模板类型的头文件

转载 作者:太空狗 更新时间:2023-10-29 20:46:00 27 4
gpt4 key购买 nike

假设我正在编写一个模板类

template <class T>
class bla {
bla() ;
~bla() ;
};

template <class T>
bla<t>::bla(){}

template <class T>
b<t>::~b(){}

只要 T 是 intchar 等等,它就可以正常工作……但万一它将是自定义类 MyClass,它将要求包含头文件 MyClass.h,还是我错了?

问题:如何以类似模板的方式完成此操作,例如

#include "T.h"

干杯!

最佳答案

当您使用 bla<MyClass> 时您需要包含 bla 的定义和 MyClass 的定义.没有必要 MyClass什么时候知道 bla被定义为。其神奇之处被称为“两阶段名称查找”:在编译模板定义时查找所有不依赖于模板参数的名称。在第二阶段,当模板被实例化时,将在实例化的上下文中查找所有剩余的名称。

关于c++ - 包含模板类型的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225128/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com