1

長い文字列リテラルを2つ(またはそれ以上)に分割する必要があるたびに、1行に収まらないため、スペースの前後でテキストを分割するかどうかを決定する必要があります。

例えば:

const char * long_text1 = "This is a long text, which does not fit "
                                "in one line";
/* or */
const char * long_text2 = "This is a long text, which does not fit"
                                " in one line";

私は最初の方法を使用する傾向がありますが、それについての本当の理由はありません。それで、それらの1つを支持する利点はあるのだろうか?この質問はコーディングスタイルの質問になる傾向があることは知っていますが、それは私の意図ではありません。これらの2つの方法のいずれかが望ましいという説得力のある理由があるかどうかだけを知りたいです。

4

3 に答える 3

1

どちらか一方を優先する技術的な理由はありません。コンパイラに関する限り、それらは同じ文字列リテラルになります。

于 2010-03-31T22:45:57.033 に答える
1

2行目以降はスペースで始まるため、継続であることがもう少し明白であるため、2番目の方法を好みます。最初の二重引用符も並べます。

const char * long_text2 = "This is a long text,"
                          " which does not fit"
                          " in one line";

また、80 文字を超える行は悪であるため、70 文字目あたりで行を分割しました。

于 2010-04-01T00:41:57.203 に答える
0

私は通常、最初の方法を使用します。純粋に、文字列セグメントをスペースで始めるのは奇妙に見えると思うからです:

 " in one line";

それは個人的な好み (または、仕事にコーディング標準があり、これほどうるさい場合はコーディング標準) に帰着します。

于 2010-03-31T22:55:40.673 に答える