类型特征是语法扩展,允许开发人员在编译时确定类型的各种特征。 C ++支持由编译器支持和一组库模板的组合提供。通过标题<type_traits>提供对类型特征的访问
我有一些代码可以处理不同类型的(增强)图,我想对具有某些特定bundle属性的图做一些特殊的事情。例如,此:struct VertexProp {// ...
如何防止std :: is_constructible中的隐式转换
假设,我有几个不同的类:class Constructible_from_float {public:Constructible_from_float(float); };类Constructible_from_double {公共:constructible_from_double(...
我有一个模板函数,该函数根据提供的类型执行某些操作:template T read(){如果(std :: is_integral ()){return static_cast
我创建了一个可以完美实现该功能的功能:template void push_back_3(T && container){使用containter_val_type =类型名T :: value_type;容器....
以下内容似乎不是有效的c ++(-std = c ++ 2a)。我想基于模板参数b更改var的存储类:#include template void f(){...
是否有任何类型特征方法可以从所需的范围容量中获取int类型?
写了一些容器类,我迫切希望避免将size_t用于容量和迭代,以仅涵盖每种情况。说我只想要一个50大小的东西,一个无符号的char会做。但是我怎么能...
为什么std :: vector :: iterator不是连续的迭代器?
根据std :: vector的cppref页面:迭代器LegacyRandomAccessIterator也来自另一个cppref页面:以下标准库类型是LegacyContiguousIterators:vector :: ......>]
如何在(* this)上检查std :: is_base_of <>
对于某些任务,我没有没有宏就无法摆脱。现在,我想至少添加一些防止滥用的保护措施。我想static_assert MYMACRO()用于基类的子类中,...
我正在尝试创建一个特征,以检测带有2个参数调用的类型Apply的结果。我希望代码中的static_assert不会被击中,因为apply的结果是...
有点奇怪。我正在尝试编写代码来检测类型是否为字符串对象。 char *或其他对象类型应导致false而不是true。下面的代码给我:error:...
我收到一个错误:错误:以下代码中的部分专业化可能不使用默认模板参数:#include #include #include ...
这是libstdc ++中具有std :: any或std :: is_copy_constructible的错误,还是合法错误?
我遇到了一个相当麻烦的情况,在这种情况下,我试图将std :: make_any与我编写的类一起使用,该类在其构造函数之一中接受std :: any,但尝试提出一个...
这是libstdc ++中具有std :: any或std :: is_copy_constructible的错误,还是合法错误?
我遇到了一个相当麻烦的情况,在这种情况下,我试图将std :: make_any与我编写的类一起使用,该类在其构造函数之一中接受std :: any,但尝试提出一个...
使用std :: is_same_v而不是重载或专业化有任何潜在问题吗?
例如,我有这个://代码A int create_int(){return 42; } double create_double(){返回3.14; } std :: string create_string(){return {“ Hi”}; }现在,我们假设对...
我正在寻找一种解决方案,以找出特定类型是否实现了size_type。到目前为止,一切都已完成... struct foo {using size_type = int; }; template 结构...
is_const <>的调用版本,但对于变量而不是类型,在一行中
[嗨,我正在学习c ++,我读了有关is_const之类的类型特征。可以在一行中调用is_const,例如cout << is_const :: value << endl;我制作了自己的版本...
很难找到正确的术语来进行适当的搜索,但是标准库是否可以对相同的基本模板类型进行测试?模板 ...
我有一个类型特征来检查枚举类是否包含一个名为None的成员。 template struct has_none:std :: false_type {};模板
假设我写了一个类似于static_string的类型(只是一对size_t和N个字符,其中N是template int参数)。因此我的类型可以安全地记忆,无需运行...
是否有任何方法可以检查任意变量类型是否可迭代?因此,要检查它是否具有索引元素,或者实际上可以遍历它的子元素? (例如,使用foreach?)是否可以...