Sun Studio 12: C++ ユーザーズガイド

A.2.177.1 値

ISO10646 UTF-16 文字列リテラルを使用する国際化アプリケーションをサポートする必要がある場合には、-xustr=ascii_utf16_ushort を指定します。-xustr=no を指定すれば、コンパイラが U"ASCII_string" 文字列リテラルを認識しなくなります。このオプションのコマンド行の右端にあるインスタンスは、それまでのインスタンスをすべて上書きします。

-xustr=ascii_ustf16_ushort は、U"ASCII_string" 文字列リテラルを指定しなくてもかまいません。そのようにしても、エラーとはなりません。

デフォルト

デフォルトは -xustr=no です。引数を指定しないで -xustr を指定した場合、コンパイラはこの指定を受け付けず、警告を出力します。C または C++ 規格で構文の意味が定義されると、デフォルト値が変わることがあります。

次の例は、U が先頭に付いた、引用符に入った文字列リテラルを示しています。-xustr を指定するコマンドも示しています。


example% cat file.cc
const unsigned short *foo = U"foo";
const unsigned short bar[] = U"bar";
const unsigned short *fun() {return U"fun"};
example% CC -xustr=ascii_utf16_ushort file.cc -c

警告

16 ビットの文字リテラルはサポートされていません。