我想检查变量是否有符号。我找到了一个名为 is_signed 的类模板但我不能使用它,因为我是 C++ 的新手。如何检查变量是否已签名?
#include <iostream>
#include <cmath>
int main() {
// the following short initialization is on purpose
short price {10u};
std::cout << std::is_signed<price>::value << '\n';
return 0;
}
最佳答案
is_signed
- 与许多其他结构一样,这是一种对类型 执行检查的方法 - 但不是对变量 执行检查。你可以使用 decltype
获取变量的基础类型。
std::cout << std::is_signed<decltype(price)>::value << '\n'; //-> 1
还有 - is_signed
在 <type_traits>
中定义而不是 <cmath>
.
如评论中所述;如果您的目的只是简单地查看变量是正数还是负数,则不需要任何库实用程序。
要获取 信息,请使用 price > 0
或 price < 0
分别。当然,这些只是运行时操作。
关于c++ - 检查变量是否使用 is_signed 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54728010/