gpt4 book ai didi

c++ - 当if条件可以在编译时计算时如何避免if/else

转载 作者:行者123 更新时间:2023-11-30 05:31:46 25 4
gpt4 key购买 nike

例如:

if (sizeof(long) == 4)
{
...
}
else
{
...
}

我认为应该有一种优雅的方式来避免这种 if/else,也许类似于 std::conditional,但我找不到。谢谢:)

最佳答案

您可能指的是标签调度吗?

#include <iostream>
#include <type_traits>

void
process(std::true_type)
{
std::cout << "sizeof(long) == 4\n";
}

void
process(std::false_type)
{
std::cout << "sizeof(long) != 4\n";
}

int
main()
{
process(std::integral_constant<bool, sizeof(long) == 4>{});
}

关于c++ - 当if条件可以在编译时计算时如何避免if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35423205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com