“这个对象看起来像一个 3D 矢量”的概念
我有一个项目正在使用一些库,其中每个库都定义某种 3D 矢量,作为示例,我使用 SFML的3D向量在代码的某些部分,reactphysicals3d 的 Vector3 以及来…
使用 c++20 概念传递参数化函数和参数列表
我有一个函数 foo ,它接受任何类型的一个参数,如下所示: void foo(int& x) { x = 4; } 现在我想创建一个模板化函数 bar ,它接受一个带有 1 个参数…
C++ require 没有隐式转换的函数
我使用 boost::variant 来模仿具有值语义的继承。 有一个类可以被打印: struct Printable { /* ... */ }; void print(const Printable &) { /* ... *…
C++概念:无论返回类型是什么,检查方法/运算符是否存在
假设我正在编写一个模板函数,想要在其模板参数上调用 operator+= 并且不关心它是否返回新值(T 类型),一个 void,或者其他什么。例如: template v…
您能否为概念中的函子指定返回类型(尤其是 void 返回类型)?
我在 C++ 中使用高阶函数或修改函数的模板进行了大量工作 。函数修饰符是一种经常有用的模式。例如,我经常使用这个简单的挂钟基准: #include templa…
使用非类型模板参数的 C++20 概念对类模板进行完全专业化
我对 C++20 概念相当陌生,我正在尝试创建一个模板类 Foo ,该类具有基于非类型(枚举器)模板参数的完全专门化的实现。我已经使用下面的代码测试了我…
C++检查函数是否存在于容器类中的概念和隐式推导规则
我试图弄清楚如何做一些对我来说在概念和模板类型(如 std::vector)方面似乎很棘手的事情。 我正在尝试应用类似于我在 T 上使用 std::movable 的编译…
如何限制我的模板仅接受具有特定输入和参数的 lambda输出类型?
受到计算函数泰勒级数的其他问题的启发(原始问题),我编写了一个模板没有任何限制来成功计算总和。这是当前代码(模板主体已删除,正如 @Elliott 所…
当我们已经有了类和接口时,为什么还要构思概念(通用编程)?
也适用于程序员.stackexchange.com: 我知道 STL 概念必须存在,并且实际上将它们称为“类”或“接口”是愚蠢的它们只是记录的(人类)概念,当时无法…
Scala 特性和 C++ 之间的区别概念
Scala 特征 Haskell 类型类和 C++0x 概念之间有什么区别? 就像下面这个例子,观察者声明一个抽象成员 receiveUpdate 观察者实际上是一种“匿名”类型…