Re: single quoteで4バイトの文字列
小西です。
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
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735