重构“哑巴”使用容器迭代器将函数转换为通用 STL 风格
我已经设法理解了 C++ 的一些功能(for_each、映射函数、使用迭代器...),但是用于接收通用容器和迭代器的模板和函数参数列表的构造仍然让我困惑。我…
派生模板重写成员函数 C++ 的返回类型
我正在编写矩阵类。看一下这个定义: template class generic_matrix { ... generic_matrix minor(unsigned int x, unsigned int y) const { ... } ..…
C++,泛型编程和虚函数。我怎样才能得到我想要的东西?
这就是我想要使用模板做的事情: struct op1 { virtual void Method1() = 0; } ... struct opN { virtual void MethodN() = 0; } struct test : op1, …
如何检查 TypeIdenitifier(T) 是否是一个对象?
我正在创建一个通用列表类,它具有 Array(Array of ) 类型的成员。 问题在于类的破坏,因为该类应该用于从字节到继承 TObject 的类型。 具体来说: de…
通用类型标识符转换。如何?
如何将 TypeIdenitifier 转换为类类型?我需要使用隐式转换。 type TMyChildArray=class(TMyArray) private FData:Array of T; procedure AddEnd(); e…
对于使用任意类型的给定参数进行任意操作有什么建议吗?
基本上我只想使用任意类型的给定参数进行任意操作。 参数类型基类是 Var,Operation 是将针对给定参数执行的操作的基类。 我有 Evaluator 类,它包含…
C++的 value_type 可以从 iterator_traits 扩展到所有类型吗?
我想创建一个类似于 std::iterator_traits::value_type 的构造,它可以使用相同的语法无缝地用于所有类型。假设我们有以下内容: template struct val…
有人可以解释一下 < 是什么吗?超级T>意味着什么时候应该使用它,以及这个结构如何与配合使用。和 ?
我使用泛型相当长的时间,但我从未使用过像 List。 这是什么意思?如何使用?擦除后效果如何? 我还想知道:它是通用编程(模板编程?)中的标准,还…
在通用编程/TMP 世界中,模型/策略和“概念”到底是什么?
我想在一处了解这三个概念的精确而简洁的定义。答案的质量应该取决于以下两点。 显示一个简单的代码片段来展示该概念/技术的用途和用途。 足够简单易…
处理许多不相关的类型时避免样板
我正在编写处理 Language.Exts.Annotated.Syntax,其中定义了反映 Haskell 模块结构的各种类型: data Module l = ... data Decl l = ... data Exp t …