C++ - 我可以传递子类作为参数而不是基类吗
我有这个: class DATABASE_API MySQLConnection { } 然后是一个子类: class DATABASE_API WorldDatabaseConnection : public MySQLConnection { } …
c++通过模板化基类重写祖父类方法是一个好的设计吗?
要求:第 2 层需要更改祖父类(即 Base)的一些功能。此更改的功能对于 Dervied_Layer_2_Case_A 和 Dervied_Layer_2_Case_B 是相同的。 您认为使用以…
失败的 static_assert 如何在 if constexpr (false) 块中工作?
P0292R1 constexpr 如果已包含,有望用于 C++17。它看起来很有用(并且可以取代 SFINAE 的使用),但是关于 false 分支中 static_assert 格式错误,无…
从类模板派生的类的公共函数
我有一个具有以下类层次结构的程序: struct TYPE_ONE { int i; }; struct TYPE_TWO { int i; }; template class Base { public: int fun(int i); }; …
C++ - 将模板类的指针传递给函数
我正在尝试将指向模板对象的指针传递给另一个类。 template class A { public: int a[size] = {0}; int getA(int n) { return a[n]; } }; class B { p…
处理通用代码中不一致的 typedef
我经常在大型代码库中遇到不遵循 typedef 标准约定的代码,例如 ThisType 而不是 this_type。 编写不再依赖 this_type 的通用代码意味着我必须为没有 …
.cpp 文件中的模板专业化 + .h 文件中的主模板声明
根据 https://eel.is/c++draft/temp.expl .spec#7: 如果模板、成员模板或类模板的成员是显式特化的,则该特化的声明应可从该特化的每次使用中访问,…
构建一个对的priority_queue
我经常遇到需要一个存储 std::pair、std::tuple 或 的优先级队列的问题>std::array 其中元素按该对的第一个条目排序。 例如,条目 [4, 2]、[2, 4]、[1…
显式模板实例化 - 何时使用?
休息几周后,我尝试通过 David Vandevoorde 和 Nicolai M. Josuttis 所著的《模板 – 完整指南》一书来扩展和扩展我对模板的了解,以及我想要了解的内…
在 slim 模板中调用带有参数的函数时出现语法错误
我有一个苗条的模板,我在其中调用像这样的函数: textarea.form-control value = @function(parameter) 但是我收到以下错误: syntax error, unexpec…
C++模板参数仅限于类(非基本类型)
是否可以指定一个永远不会与基本类型(例如 int)匹配的模板参数?我正在大力对抗歧义。例如: template void Function(const T& x) { SetString(x.Ge…
使用非类型模板参数的 C++20 概念对类模板进行完全专业化
我对 C++20 概念相当陌生,我正在尝试创建一个模板类 Foo ,该类具有基于非类型(枚举器)模板参数的完全专门化的实现。我已经使用下面的代码测试了我…
模板规范但未使用模板参数?
我正在 Pytorch 存储库中查看此文件: https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/quantized/cpu/conv_packed_params…
如何理解这样的“两个连续模板”?在 c++通过使用模拟最小示例?
我只了解C++中一些简单的模板用法。 最近,我在一些 OpenFOAM 代码中遇到了以下代码片段,它让我困惑了好几个星期。 (1)您能否通过给出一个最小的工…