小西です。

17 Oct 2003 17:49:17 GMT に
D.Miyasaka <miyanews@anet.ne.jp> さんは書きました:

> unsigned long chunk = '0MFS';
> 
> というようにsingle quoteで4バイトの文字列を囲んでいる箇所とわかりました。
> chunkに入る値がProject BuilderとVisual C++では0x304d4653に対し、
> Borland C++では0x53464d30であり、ちょうどエンディアンがひっくり返った
> ような結果となりました。そこまではいいとして、疑問に思ったのは
> single quoteで4バイトの文字列を定数にするというのは標準規格になかった
> ように思うのですが、これはどうなのでしょうか?ひょっとして自分が知らない
> 間に規格になったのか、あるいは将来、規格になるものなのでしょうか。

手元にある ISO/IEC 14882-1998 の 2.13.2 Character literals によれば,

| A character literal is one or more characters enclosed in single quotes,
| (中略).  An ordinary character literal that contains more than one
| c-char is a multicharacter literal. A multicharacter literal has type
| int and implementation-defined value.

ということなので,C++ では標準規格に入っているらしいです。

-- 
Masahiro KONISHI / mkonishi@sea.plala.or.jp