问题标签 [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.

0 投票
1 回答
2400 浏览

c++ - CRTP + Traits 类:“没有类型命名...”

我尝试使用模板类实现 CRTP,但以下示例代码出现错误:

我不明白是什么导致了这个问题,也不明白如何解决它。

事实上,我的目标是 CRTP 类必须知道派生类的模板参数,而无需将它们作为 CRTP 类的模板参数传递。

你有什么想法如何实现这个吗?

编辑(与第一个有关):我的 CRTP 类必须能够处理具有不同数量模板参数的派生类

0 投票
1 回答
1445 浏览

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

来源:在此处搜索“类型属性” 。

谢谢你的帮助!

0 投票
1 回答
1050 浏览

c++ - 这个 result_of 用法有什么问题?

我得到错误:'val' : illegal use of type 'void'。为什么该类型会解析为 void?

我可能弄错了什么result_of得到我。我只想要我可以传递的任何东西的返回值 a std::function

0 投票
4 回答
1192 浏览

c++ - 哪些适用于 Windows 的 C++11 编译器支持“is_nothrow_move_constructible”等新类型特征?

是否有任何适用于 Windows 的 C++11 编译器支持新的 C++11 类型特征,例如is_nothrow_move_constructible

我试图编写一个支持它的容器,却发现我的编译器(VC++ 2010,TDM MinGW32 GCC 4.6)都不支持它......

0 投票
2 回答
639 浏览

c++ - C ++ 11 type_traits:如果浮点类型相同,则如果整数类型则为双精度

我有一个类型Type和一个变量tmp

我想声明tmp好像是浮点类型并且Type好像是整数类型。如何在 C++11 中做到这一点?TypedoubleType

0 投票
3 回答
164 浏览

c++ - 如何从 std::function 获取基本函数类型?

我有很多类的 typedef,std::function<void(PARAMS)>其中 PARAMS 特定于每个类。我需要根据参数的数量和第一个参数的类型进行专门研究。我想boost::function_traits使用它,但为了使用它,我需要有std::function问题的原始函数类型。

例如,给定std::function<void(int,int)>,我想检索void(int,int)

有没有办法以可移植的方式提取本机类型?作为旁注,我无权访问 C++11 功能。

0 投票
1 回答
843 浏览

c++ - 基本类型数组的迭代器类型

std::copy<InputInterator, OutputIterator>( /*...*/ );

如何确定InputInteratorOutputIterator键入双精度数组double d[]?有没有一种iterator_traits<double*>::iterator_type

upd:我使用非常旧的编译器,所以我需要显式实例化

0 投票
2 回答
1123 浏览

c++ - 如何在编译时找出可以表示数字的最小整数类型

我需要在编译时找出可以表示特定数字的最小无符号整数类型。像这样的东西...

uint_least旨在为您提供至少Bits大的最小无符号整数类型,它应该适用于高达 64 的任何值(不仅仅是 8、16、32、64,还有 1、4、13 等)。

uint_least_bits旨在为您提供表示max.

  • 我该如何实施uint_least
  • 我该如何实施uint_least_bits
  • 应该bits、、minmax是什么类型?如果答案是模板类型,我该如何防范无效输入?

特征的确切结构并不重要。随意废弃我提供的内容。我只需要提供一个数字并取回可以容纳它的最小无符号整数类型。

0 投票
3 回答
1140 浏览

c++ - 正确使用 std::enable_if 或如何替换它

这是对 std::enable_if 的正确使用吗?它有效,但它正确吗?

.

我怎样才能重写它,以实现更干净的界面?像:

顺便说一句,我有类似的东西:(我不想使用 boost)

并且整个行为都在单个功能中解决。但没有什么像std::if对吧?

0 投票
1 回答
1339 浏览

c++ - 部分模板专业化仅限于某些类型

是否可以编写仅用于类类型的部分模板特化,例如,从特定类继承或遵守可以通过类型特征表达的某些其他约束?即,像这样: