相关疑难解决方法(0)

有没有办法测试C++类是否有默认构造函数(编译器提供的类型特征除外)?

可以定义Traits类来检查C++类是否具有成员变量,函数或类型(请参阅此处).

奇怪的是,ConceptTraits不包含检查C++类是否定义默认构造函数或给定构造函数的特征?

可以使用特征来检查构造函数的存在吗?如果有,怎么样?如果没有,为什么不可能呢?

c++ boost

21
推荐指数
1
解决办法
6497
查看次数

在c ++ 11中使用`someType()`无法初始化哪些临时值?

我有一些宏对类型和初始值进行操作.我需要的初始值转换vInivType(vIni总是转换为vType,有时它具有相同的类型).在vIni可能是空的,以及,在这种情况下vType,应未初始化或默认初始化.reult传递给模板化函数.

简而言之,

template<typename T> void foo(const T& o);

foo(vType(vIni));
foo(vType());
Run Code Online (Sandbox Code Playgroud)

必须编译.

我已经发现foo(unsigned int())foo(int*())不会编译,但它可以使用typedef解决.

什么是其他情况(除了带有空格和指针的内置类型)会失败?

c++ initialization c++11

4
推荐指数
1
解决办法
116
查看次数

标签 统计

c++ ×2

boost ×1

c++11 ×1

initialization ×1