pra*_*ran 19 c++ macros logic visual-c++
正如您从其他问题中可以看到的,许多人可能已经得到了答案.你能把这些知识分享给我吗?
Fre*_*urk 22
C++03§16.8p1:
__LINE__当前源行的行号(十进制常量).
这将是int,或者如果INT_MAX(允许小到32,767)不够大(......我不会问......),那么它将是long int.如果它大于LONG_MAX,那么你有一个未定义的行为,这一次,在一个至少2,147,483,647行(LONG_MAX的最小允许值)的文件中不值得担心.
同一部分还列出了您可能感兴趣的其他宏.
C++标准简单地说:
__LINE__:当前源行的假定行号(在当前源文件中)(整数常量).
它实际上并没有说明类型,所以它很可能与你的源代码中的一个未修饰的整数相同int.允许范围的上端2G - 1支持的事实(即使范围较小1).
也可以读取#line仅允许数字(没有尾随U使其无符号)的事实来支持这一点.
但是,这只是支持.我无法在C++或C标准中找到明确的陈述.它只是有意义*它将被翻译成类似于42它经历预处理阶段的东西,这就是编译器将看到的内容,完全像42(a int)一样对待它.
*a:这不是我的常识第一次出错,但是:-)
| 归档时间: |
|
| 查看次数: |
8377 次 |
| 最近记录: |