问题描述
``L_tmpnam''''[7.9.1 / 7.4.4]宏给出了混合案例名称的
故意设计决定吗?
它是唯一一个扩展为整数常量表达式的宏吗?名称中包含
小写字符?
我的笨蛋:``s / 7.7.4 / 7.9 .4 /''''。
你的意思是7.9.1 / 7.9.4.4。两者都参考C90标准中的部分。
我认为这是故意的。大写的L部分遵循大写宏名称的
约定。小写tmpnam是指
tmpnam()函数。
不,这是另一个:
#define the_answer 42
但严重的是,C99'< stdbool.hhas宏" false"," true"和
" __ bool_true_false_are_defined"。这些是我能想到的唯一一个。
of。如果你对答案比我更感兴趣8-)},你可以
总是通过标准查看其他例子。
- -
Keith Thompson(The_Other_Keith)< http:// www .ghoti.net / ~kst>
诺基亚
我们必须做点什么。这是事情。因此,我们必须这样做。
- Antony Jay和Jonathan Lynn,是部长
在C89中还有:
offsetof
stdin
stdout
stderr
断言
errno
va_start
va_arg
va_copy
C99有更多。
-
pete
Was the ``L_tmpnam'''' [7.9.1/7.4.4] macro given that mixed case name by a
deliberate design decision?
Is it the only macro expanding to an integral constant expression that has
lowercase characters in the name?
My botch: ``s/7.7.4/7.9.4/''''.
You mean 7.9.1/7.9.4.4. Both refer to sections in the C90 standard.
I presume it was deliberate. The uppercase ''L'' partially follows the
convention of uppercase macro names. The lowercase "tmpnam" refers to
the tmpnam() function.
No, here''s another one:
#define the_answer 42
But seriously, C99''s <stdbool.hhas macros "false", "true", and
"__bool_true_false_are_defined". Those are the only ones I can think
of. If you''re more interested in the answer than I am 8-)}, you can
always look through the standard for other examples.
--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
In C89 there''s also:
offsetof
stdin
stdout
stderr
assert
errno
va_start
va_arg
va_copy
C99 has more.
--
pete
这篇关于L_tmpnam宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!