gpt4 book ai didi

c++ - 是否可以在 C++ 中使用编译时断言

转载 作者:行者123 更新时间:2023-11-30 04:27:32 27 4
gpt4 key购买 nike

我想使用模板进行一些数据处理,但我需要代码在移植时或多或少是安全的。

如果变量的大小超出预期值,这可能会成为一个问题,因此我想在编译时断言某些假设仍然有效。

例如,sizeof(long)>sizeof(int),如果这个假设失败,我可以中断构建。

我知道标准要求 long>=int,但这只是一个例子,不要关注变量类型。

最佳答案

C++11 有static_assert:

static_assert(sizeof(long) > sizeof(int), "long must be greater than int");

在较旧的编译器上,您可以使用 Boost.StaticAssert .

BOOST_STATIC_ASSERT(sizeof(long) > sizeof(int));

关于c++ - 是否可以在 C++ 中使用编译时断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866767/

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