typetraits相关内容

编写代码,当“has_trivial_destructor”而不是“is_trivially_destructible”。

在C ++ 11标准的细化过程中,似乎 is_trivially_destructible 被视为比更好/更一致的名称has_trivial_destructor 。 这是一个相对较新的开发,因为我的g ++ 4.7.1仍然使用旧的名称,它被固定为符合标准自4.8起: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52702 我一直懒地使 ..
发布时间:2016-11-06 02:42:12 C/C++开发

std :: common_type实现

为了看看它是如何工作的,我看看 type_traits std :: common_type 的libstdc ++实现>。我不得不承认,我不真的明白它是如何工作的。这是: /// common_type template struct common_type; template struct comm ..
发布时间:2016-11-06 00:35:52 C/C++开发

C ++和typetrits:定义可能定义列表的最简单方法

我要定义一个函数 template T constCast(const ScriptVar_t& s); 。根据 T ,我想要有不同的定义。 ( ScriptVar_t 是一个类,但在此上下文中的细节不重要。) T 不像特定类型那么简单,它们都是更复杂的静态布尔表达式。也就是说我有一个表达式的列表 ext1 .. extN ,对于每个,我有一个函数的定义。我想让它们 ..
发布时间:2016-10-30 18:38:21 C/C++开发

类型traits vs静态成员的优点?

我有一个类( Voxel ),子类可能有或没有多个不同的属性(材质,密度等)与get和set方法。现在,我要写如下的一些代码: template void process(VoxelType voxel) { if(VOXEL_HAS_MATERIAL) { //做一些涉及调用get / setMaterial()的工作 } if( ..
发布时间:2016-10-28 03:37:36 C/C++开发

限制访问功能

我有一个泛型类有一个函数,我想限制在浮点类型的实例在编译时。如下例所示: 模板 class ClassName { //实例变量等。 void some_method() { // do stuff,but只适用于浮点类型 } } 拒绝使用some_method作为非浮点类型的ClassName? 我一直在查看SFI ..
发布时间:2016-10-28 02:00:48 C/C++开发

功能模板:具有类型traits的不同专业化

考虑类模板,可以使用类型traits和dummy启用程序模板参数为某些类型的组提供模板特化。我已经早些时候询问。 现在,对于函数模板,我需要相同的东西:我有一个模板函数,想要一组类型的特殊化,例如,所有类型是一个类的子类型 X 。我可以用类型traits来表达这样的: std :: enable_if :: type ..
发布时间:2016-10-28 01:20:08 C/C++开发

如何用type_traits检测字符串文字?

如何在不是字符串文字的地方可靠地static_assert? 例如,在下面的代码中,我试图包装标准assert宏,但静态拒绝不是字符串字面量的消息的任何东西(因为除非是字符串字面量,在assert触发器时不会在运行时显示)。 #include #include #include #define my_a ..
发布时间:2016-10-27 04:50:51 C/C++开发