templates相关内容

访问模板参数的受保护成员

我有一个模板类,我需要访问模板参数的受保护成员函数,如下所示: class Foo { protected: void foo(){} }; template class Bar { public: static void bar(T& self){self.foo();} }; ... Foo f; Bar ..
发布时间:2016-10-14 11:34:26 C/C++开发

C ++动态向下转换到类模板,模板模板参数是类模板或别名模板

我希望标题有意义。 很好,一个例子可能会更清楚。 对我来说是:动态downcasting在运行时在以下一些情况(写在评论中)返回0。我想知道如果它是一个正确的行为(使用C ++ 11),也为什么,我该怎么做,使其工作。显然,Templated和A :: A_templated被视为不同的类,尽管使用别名“using”定义为相同。对于简单的typedef别名,不会出现问题。 模板 ..
发布时间:2016-10-14 11:29:14 C/C++开发

“多重定义”当使用(mock)头文件的模板

我知道C ++模板函数的定义必须放在头文件中。然而,为了提高(潜在)大库的可读性和结构的原因,我将声明从实现分离为“mock”头(其中 #include 实施文件,非常类似于文件的此结构)。 请注意,我知道在编译时必须包含模板函数的实现。 简而言之,当我将非模板函数声明添加到实现文件时,我有一个“多重定义”错误。详细说明如下。 当“mock”标题+实现文件对只包含模板函数的声明/ ,一 ..
发布时间:2016-10-14 11:28:56 C/C++开发

什么时候const返回类型干扰模板实例化?

来自Herb Sutter的 GotW#6 对于非内置返回类型,返回值通常应为const。 ... 注意:Lakos(第618页)反对返回const值 ,并注意到它对于builtins来说是多余的 例如,返回“const int”),他注意到 会干扰模板实例化。 不同意在通过Lakos返回一个非构建类型的对象时是返回一个常量值还是非常量值,他通常同意返回一个内置类型的常量值 ..
发布时间:2016-10-14 11:21:52 C/C++开发

trait从成员函数类型中删除const?

当 T 是 double(float)const 当我尝试使用 function 。 未定义模板的隐式实例化'std :: function' 但是当 T 是 double(float)。我试图使用 std :: remove_cv :: type 删除这个 const 工作。是的,我有#include ..
发布时间:2016-10-14 11:16:53 C/C++开发

包括.cpp文件?

可能重复: 我最近一直在用C ++。 目前我想编程的东西我确定以前至少做过一次:一个简单的LinkedList类。 代码完成,但我不知何故没有编译它。我一直在谷歌搜索,它似乎我链接的目标文件错误。这是我的代码基本上看起来像: test.cpp #include“linkedlist.h” int main() { LinkedList列表; // ..
发布时间:2016-10-14 11:15:30 C/C++开发