Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
用户定义类型的 std::common_type 特征
自 C 11 起 类型特征std common type被介绍了 std common type确定其所有模板参数之间的公共类型 在 C 14 中它的辅助类型std common type t还被引入是为了制作使用的代码std common
c
templates
C11
c14
typetraits
std::is_constructible 在具有非公共析构函数的类型上
预期结果是什么std is constructible http en cppreference com w cpp types is constructible在具有私有或受保护析构函数的类型上 例如 我仍然可以在堆上构造这样的对象 即使
c
C11
languagelawyer
typetraits
Eric Niebler 的 std::is_function 实现是如何工作的?
上周埃里克 尼伯勒tweeted https twitter com ericniebler status 852192542653329408一个非常紧凑的实现std is function http en cppreference co
c
C11
templates
c14
typetraits
对于 common_type,T declval() 而不是 T && declval()
使用不是更好吗std declval声明形式 template lt class T gt T declval 1 然后是当前的 template lt class T gt T declval 2 for std common type
c
C11
c14
typetraits
C17
测试类型是否是分配器的正确方法是什么?
Writing allocator traits
c
c14
typetraits
allocator
如何使用类型特征使数组到指针的转换明确?
我想区分静态数组和指针 以下示例由于以下原因无法编译具有精确匹配的数组到指针转换 使两者foo的可能候选人 我能获得第二次超载吗foo使用类型特征明确选择 include
c
C11
typetraits
检查对象是否声明为 const
如果对象被声明为 const 我想中断编译 以下不起作用 include
c
C11
typetraits
如何确保weak_ptr不是从临时的shared_ptr创建的?
我们来上课吧Foo和方法void use weak ptr std weak ptr
c
C20
typetraits
cconcepts
weakptr
消除作为模板参数传递的重载成员函数指针的歧义
我正在尝试重新创建观察者模式我可以完美地将参数转发给观察者的给定成员函数 如果我尝试传递一个地址成员函数其中有多次覆盖 它无法根据参数推导出正确的成员函数 include
c
templates
C11
typetraits
Is-大括号-可构造类型特征
如何检查是否特定类型typename T可以从参数构造typename Args以这样的方式T Args 我知道std is constructible lt T Args gt 类型特征来自
c
boost
typetraits
boostvariant
为什么 is_copy_constructible 在 MSVC12 中为 unique_ptr 返回 true
我本来期望这个静态断言会触发 include
c
C11
typetraits
msvc12
C++17 中已弃用 std::is_literal_type
根据参考参数 http en cppreference com w cpp 特质std is literal type http en cppreference com w cpp types is literal type在 C 17 中
c
std
C17
deprecated
typetraits
如何在编译时检查表达式是否非法?
我的应用程序遇到问题 我想断言函数应用程序将被编译器拒绝 有没有办法通过 SFINAE 检查这一点 例如 假设我想验证std transform to a const范围非法 这是我到目前为止所拥有的 include
c
sfinae
typetraits
cconcepts
解决静态断言中的不完整类型
当表达式取决于类类型本身时 有没有办法在类内部进行 static assert 也许延迟评估直到类型完成或模板实例化之后 示例代码 include
c
templates
typetraits
staticassert
拥有 constexpr 静态字符串会导致链接器错误
以下程序给我一个链接时错误 include
c
string
C11
constexpr
typetraits
关于模板专业化和继承的良好实践
模板专业化不考虑继承层次结构 例如 如果我专门设计一个模板Base并实例化它Derived 不会选择专业 参见下面的代码 1 这可能是一个主要障碍 因为它有时会导致违反里氏替换原则 例如 在工作时这个问题 https stackoverfl
c
templates
templatespecialization
typetraits
C++11 std 相当于 Boost has_dereference
Boost 的许多 SFINAE 助手已经随 C 11 一起出现在 std 库中 但是has dereference似乎没有 除了这个功能之外 我已经设法从我的包中消除了 Boost 依赖项 并且我想完全摆脱它 那么如何最好地仅使用 C 1
c
C11
boost
sfinae
typetraits
为什么这个结构不是标准布局?
一段代码胜过数千字 include
c
C11
struct
typetraits
standardlayout
std::integral_constant
的否定
抱歉问了这么简单的问题 但我无法轻松找到答案 谷歌没有说任何关于 C 否定积分常量 和类似查询的有趣内容 C 11 中是否有任何特征使得std true type from std false type反之亦然 换句话说 我想要一些更具可读
c
C11
templatemetaprogramming
typetraits
boostmpl
std::is_default_constructible
错误,如果构造函数是私有的
我有以下片段 include
c
C11
typetraits
«
1
2
3
4
5
»