本文介绍了L_tmpnam宏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

``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宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 23:34