![]() |
1
10
你不能——预处理器不知道变量,也不知道在预处理器完成执行后,程序在任意时间运行时,你要给它们分配什么值。 |
![]() |
2
3
hash define宏是预编译时的宏,在编译之前进行预处理。预处理器将无法访问变量值。
你需要使用
或者只是做一些算术来计算结果。 |
![]() |
3
1
(the)
您将无法使用此操作的“返回值”,但可以执行以下操作:
|
![]() |
4
1
|
![]() |
5
1
如果在编译时执行此操作并不重要,可以使用以下方法:
我不知道boost库中是否有任何东西可以在编译时使用TMP来做这样的计算。 |
![]() |
6
0
在 . 文本替换 ? 预处理器将输出C代码,用传递的值替换宏的参数。不管你传递一个变量还是一个常量,你只会得到一个伪替换(也称为宏“扩展”)。
让我们看看预处理器将如何“扩展”
什么意思
? 这意味着这个文本替换是在源代码上完成的,输出会忽略传递给宏的变量的内容。换言之,您是否已初始化并不重要
|
![]() |
7
0
可以使用预处理器定义的整数。
|
![]() |
8
0
还可以使用此函数连接3个整数 (当0是第二位或第三位数字时,上面的另一个intcat函数不起作用。这是因为0的对数是负无穷大,当你通过0时,它从你的总数中减去1)。
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |