【发布时间】:2009-09-11 17:15:24
【问题描述】:
作为练习,我想编写一个宏来告诉我一个整数变量是否有符号。这是我到目前为止所拥有的,如果我在使用 gcc -fsigned-char 或 -funsigned-char 的 char 变量上尝试这个,我会得到我期望的结果。
#define ISVARSIGNED(V) (V = -1, (V < 0) ? 1 : 0)
这是便携式的吗?有没有办法在不破坏变量值的情况下做到这一点?
【问题讨论】:
-
这是一个奇怪的问题,但我对您对这些信息的预期用途更感兴趣。有机会分享吗?
-
@jeffamaphone:实际上,这就是模板在 C++ 中大放异彩的地方。
-
@stephentyrone - 我认为这只是好奇心,基于 OP 问题的前三个词。我无法完全想象这种信息的实际应用。
-
@Chris @stephentyrone 这是来自 Peter Van Der Linden 的 Expert C Programming 一书中的练习
标签: c gcc integer c-preprocessor