问题标签 [typetraits]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CRTP + Traits 类:“没有类型命名...”
我尝试使用模板类实现 CRTP,但以下示例代码出现错误:
我不明白是什么导致了这个问题,也不明白如何解决它。
事实上,我的目标是 CRTP 类必须知道派生类的模板参数,而无需将它们作为 CRTP 类的模板参数传递。
你有什么想法如何实现这个吗?
编辑(与第一个有关):我的 CRTP 类必须能够处理具有不同数量模板参数的派生类
c++ - 支持 g++ 中的类型属性
我们什么时候可以期望支持g++中的标准类型属性?libstdc++ 为大多数类型属性提供支持,其中一些需要特殊 GNU 扩展的支持。但是,如果能够完全支持<type_traits>
. 我尝试查询 libstdc++ 邮件列表,但遗憾的是没有收到任何回复。
如果您想知道哪些类型属性缺少支持,这里有一些:
Missing is_trivially_copyable, is_assignable, is_copy_assignable, is_move_assignable, is_trivially_constructible, is_trivially_default_constructible, is_trivially_copy_constructible, is_trivially_move_constructible, is_trivially_assignable, is_trivially_default_assignable, is_trivially_copy_assignable, is_trivially_move_assignable, is_trivially_destructible, is_nothrow_assignable, is_nothrow_copy_assignable, is_nothrow_move_assignable, is_nothrow_destructible
来源:在此处搜索“类型属性” 。
谢谢你的帮助!
c++ - 这个 result_of 用法有什么问题?
我得到错误:'val' : illegal use of type 'void'
。为什么该类型会解析为 void?
我可能弄错了什么result_of
得到我。我只想要我可以传递的任何东西的返回值 a std::function
。
c++ - 哪些适用于 Windows 的 C++11 编译器支持“is_nothrow_move_constructible”等新类型特征?
是否有任何适用于 Windows 的 C++11 编译器支持新的 C++11 类型特征,例如is_nothrow_move_constructible
?
我试图编写一个支持它的容器,却发现我的编译器(VC++ 2010,TDM MinGW32 GCC 4.6)都不支持它......
c++ - C ++ 11 type_traits:如果浮点类型相同,则如果整数类型则为双精度
我有一个类型Type
和一个变量tmp
:
我想声明tmp
好像是浮点类型并且Type
好像是整数类型。如何在 C++11 中做到这一点?Type
double
Type
c++ - 如何从 std::function 获取基本函数类型?
我有很多类的 typedef,std::function<void(PARAMS)>
其中 PARAMS 特定于每个类。我需要根据参数的数量和第一个参数的类型进行专门研究。我想boost::function_traits
使用它,但为了使用它,我需要有std::function
问题的原始函数类型。
例如,给定std::function<void(int,int)>
,我想检索void(int,int)
。
有没有办法以可移植的方式提取本机类型?作为旁注,我无权访问 C++11 功能。
c++ - 基本类型数组的迭代器类型
std::copy<InputInterator, OutputIterator>( /*...*/ );
如何确定InputInterator
和OutputIterator
键入双精度数组double d[]
?有没有一种iterator_traits<double*>::iterator_type
?
upd:我使用非常旧的编译器,所以我需要显式实例化
c++ - 如何在编译时找出可以表示数字的最小整数类型
我需要在编译时找出可以表示特定数字的最小无符号整数类型。像这样的东西...
uint_least
旨在为您提供至少Bits
大的最小无符号整数类型,它应该适用于高达 64 的任何值(不仅仅是 8、16、32、64,还有 1、4、13 等)。
uint_least_bits
旨在为您提供表示max
.
- 我该如何实施
uint_least
? - 我该如何实施
uint_least_bits
? - 应该
bits
、、min
和max
是什么类型?如果答案是模板类型,我该如何防范无效输入?
特征的确切结构并不重要。随意废弃我提供的内容。我只需要提供一个数字并取回可以容纳它的最小无符号整数类型。
c++ - 正确使用 std::enable_if 或如何替换它
这是对 std::enable_if 的正确使用吗?它有效,但它正确吗?
.
我怎样才能重写它,以实现更干净的界面?像:
顺便说一句,我有类似的东西:(我不想使用 boost)
并且整个行为都在单个功能中解决。但没有什么像std::if
对吧?
c++ - 部分模板专业化仅限于某些类型
是否可以编写仅用于类类型的部分模板特化,例如,从特定类继承或遵守可以通过类型特征表达的某些其他约束?即,像这样: