相关疑难解决方法(0)

没有编译器挂钩,哪个<type_traits>无法实现?

C++ 11提供了标准<type_traits>.

没有编译器挂钩,哪些是不可能实现的?

  • 注1:编译器钩子我指的是任何非标准语言特征,例如__is_builtin....
  • 注2:它们中的很多都可以在没有钩子的情况下实现(参见 C++ Template Metaprogramming的第2章和/或Modern C++ Design的第2章).
  • 注3:前一个问题中的蹩脚答案引用了N2984,其中一些类型特征包含以下注释:被认为需要编译器支持(感谢sehe).

c++ type-traits c++11

26
推荐指数
2
解决办法
1428
查看次数

了解对象是否为整数或类类型有什么意义?

您好,我在Cppreference.com上看到了许多这样的示例:

std::is_class<T>
std::is_integral
Run Code Online (Sandbox Code Playgroud)

等等。我知道我是否例如运行代码get truefalse。但是,这有什么意义呢?例如知道对象是否为类类型?

#include <iostream>
#include <type_traits>

struct A {};
class B {};
enum class C {};

int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_class<A>::value << '\n';
    std::cout << std::is_class<B>::value << '\n';
    std::cout << std::is_class<C>::value << '\n';
    std::cout << std::is_class<int>::value << '\n';
}
Run Code Online (Sandbox Code Playgroud)

输出:

true
true
false
false
Run Code Online (Sandbox Code Playgroud)
  • 我已经使用这个找遍了一个真实的例子(is_classis_integralis_arithmetic,...),但所有的教程只显示无望例如:只truefalse

  • 有人能帮我举一个使用此模板的有用示例吗?

c++ templates

15
推荐指数
2
解决办法
380
查看次数

标签 统计

c++ ×2

c++11 ×1

templates ×1

type-traits ×1