class-template相关内容

什么时候实例化模板类的成员函数?

考虑以下示例: template班级基地{民众:内联无效 fooBase (){t;//只有在文件末尾未定义类 ABC 时才会出现以下错误:“error: t uses undefined class ABC"}受保护:};ABC类;DEF 级;派生类:公共基础{民众:无效的 fooDerived (){DEF 定义;//错误:def 使用未定义的类 DEF}};衍生衍生;空富(){派 ..
发布时间:2021-09-04 20:49:52 C/C++开发

C++ - 模板专业化 &部分专业化

我一直在 Internet 和 stackoverflow 上寻找具体的答案,但似乎找不到.我必须创建一个通用类,然后实现特定的功能.我的具体说明是:你需要利用模板表达式参数和模板类特化和部分特化. 我有一个模板类: template Z类{T **数组[x][y];民众:Z();无效打印();//和其他方法}; 我需要: 1) 只有 x= 2 和 y = 2 的 Z 需要有一个公 ..
发布时间:2021-09-04 20:48:06 C/C++开发

在成员函数中使用两个模板的类模板中为成员函数定义单个模板

我目前正在学习模板在 C++ 中的工作原理.特别是,我正在查看类模板中的单个成员函数模板.要理解我的意思,请在下面找到代码. //foo.h模板类 foo {模板无效嘘(B);};//foo.cpp模板void foo::boo(B value) {}//编译器错误:'Unknown' 类型名称 B//或者如果我尝试这个模板void foo::boo(B value) {}//编译器 ..
发布时间:2021-06-02 21:23:47 C/C++开发

没有公共构造函数作为另一个类模板的成员的类模板

我有一个类模板 Shape ,其中包含有关某些形状(可以是3维或2维)的信息。我只希望提供一些预定义的形状(立方体,球体和正方形)。所有这些预定义的形状都具有相同的属性(因此,多维数据集始终具有相同的体积,我只需要记住一个多维数据集的属性)。为了禁止某人创建其他 Shape s,我将构造函数设为 private : //标记可能的形状 枚举类Tag { SPHERE, CUBE, ..

约束函数会允许模板参数依赖于函数参数吗?

在C ++ 17中,此代码是非法的: constexpr int foo(int i) { return std::integral_constant::value; } 那是因为即使foo可以在编译时求值,编译器仍然需要产生指令以在运行时执行它,从而使模板实例化成为不可能. 在C ++ 20中,我们将具有consteval函数,这些函数需要在编译时进行评估 ..
发布时间:2020-04-27 04:24:27 C/C++开发