templates相关内容

使用静态变量和模板

我有一个模板类在这样的头文件中定义。这里我定义了一个静态变量: #ifndef TEST1_H_ #define TEST1_H_ void f1(); static int count; template class MyClass { public: void f() { ++ count; } }; ..
发布时间:2016-10-14 12:04:29 C/C++开发

std :: enable_if:参数与模板参数

我正在构建一些需要具有整数和/或双精度的特定函数的输入检查程序(例如'isPrime'应该只能用于整数)。 如果我使用 enable_if 作为参数,它可以正常工作: template 类检查 { public: template inline static U readVal(typename std :: enable_if ..
发布时间:2016-10-14 12:03:43 C/C++开发

嵌套模板专业化

有一个大脑放屁...可以做这样的工作吗? template struct Foo { template struct Bar; }; template struct Foo :: Bar //尝试专门化Bar { }; 我不是有这样做, 建议赞赏! PS:我忘了提及明确专用于F ..
发布时间:2016-10-14 12:03:19 C/C++开发

了解移动语义与模板元编程的好处

我在C ++ 11中阅读了一些关于移动语义的描述,我想知道在什么上下文中可以使用它。 目前,许多C ++数学库使用模板元编程来延迟评估。 如果M = A + B + C * D,其中M,A,B, C和D是矩阵,模板元编程允许避免无用的副本。 是移动语义更方便的方式来做这些事吗? 如果不是,在什么语境中使用移动语义。 如果是,与模板元编程相比,这种用法有什么区别/限制? 解决 ..
发布时间:2016-10-14 11:59:57 C/C++开发

这个C ++代码是什么意思?

下面的代码返回堆栈分配的数组的大小: template int siz(T(&)[size]) { return size; } 但我无法围绕语法。 特别是 T(&)[size] part ... 解决方案 但是我不能绕开语法。特别是 T(&)[size] part ... 该 ..
发布时间:2016-10-14 11:59:10 C/C++开发

有没有优化的c ++编译器模板使用?

C ++模板在我的日常工作中是一个祝福,因为它的力量。但是人们不能忽视由于大量使用模板(hello元编程和Boost库)而导致的(非常非常非常长的)编译时间。我已经阅读并尝试了很多可能性手动重组和修改模板代码,使其尽可能快的编译。 现在我想知道是否有任何c ++编译器,尽量减少解释模板类所需的时间。我可能是错的,但我觉得编译器我知道只有添加模板解释以前的版本。 我的问题是: c ..
发布时间:2016-10-14 11:55:48 C/C++开发

变体模板

C ++ 0x将允许模板获取任意数量的参数。 解决方案 Type-安全printf 在工厂方法中转发任意多个构造函数参数 / strong>基本类允许放置和删除有用的策略。 通过将异类类型对象 有一个文字运算符可以计算用户定义文字的值(例如“10110b”)。 范例3: typename ... T> struct flexible:T ... {flexible ..
发布时间:2016-10-14 11:52:05 C/C++开发

模板函数作为模板参数

我刚刚困惑了如何在C ++中以通用的方式实现某些东西。 考虑这样的代码: void a(int){ // do something } void b(int){ // something else } void function1(){ a(123); a(456); } void function2(){ b(123); b(456); } ..
发布时间:2016-10-14 11:48:15 C/C++开发

使用不同对象时的模板专用化的多重定义

当我在不同的目标文件中使用一个专门的模板时,我得到一个“多重定义”的错误。我发现的唯一解决方案涉及使用“内联”功能,但它只是似乎一些解决方法。如何在不使用“inline”关键字的情况下解决这个问题?如果不可能,为什么? 以下是示例代码: paulo @ aeris:〜/ teste / cpp / redef $ cat hello.h #ifndef TEMPLATE_H ..
发布时间:2016-10-14 11:46:09 C/C++开发

C ++模板陷阱

刚刚我不得不通过网站找出为什么模板类模板成员函数给出语法错误: 模板类F00 { template酒吧(); }; ... Foo F; f.bar(); //语法错误这里 现在我意识到模板括号被当作关系运算符。为了做到目的,需要以下奇怪的语法,cf http://stackoverflow.com/ ..
发布时间:2016-10-14 11:45:06 C/C++开发

自动选择大到足以容纳指定数字的变量类型

有什么方法在C + +定义一个类型,大到足以容纳最多一个特定的数字,可能使用一些聪明的模板代码。例如我想能够写: - Integer :: type dataItem; 并且该类型是否解析为足够容纳指定值的最小类型? p> 背景:我需要使用外部数据文件中的脚本生成一些变量定义。我想我可以让脚本看看这些值,然后使用 uint8_t , uint16 ..
发布时间:2016-10-14 11:42:49 C/C++开发

模板:使用forward声明减少编译时间?

我必须处理一个由许多模板类组成的库,这些类当然都在头文件中实现。现在我试图找到一种方法来减少无法忍受的长的编译时间,因为我几乎必须包括整个库在每个和我的编译单元。 使用转发声明一个可能性,尽管模板?我试着沿着下面的例子,我尝试绕过 #include ,作为一个例子,但它给我一个链接器错误,因为 push_back 未定义。 #include ..
发布时间:2016-10-14 11:40:14 C/C++开发