Где разбить строковый литерал - PullRequest
1 голос
/ 01 апреля 2010

Каждый раз, когда мне нужно разделить длинный строковый литерал на две (или более) части, поскольку он не помещается в одну строку, я должен решить, разделить ли текст до или после пробела.

Например:

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";

Я склонен использовать первый способ, но у меня нет реальной причины для этого. Интересно, есть ли преимущество в пользу одного из них? Я знаю, что эти вопросы, как правило, являются вопросом стиля кодирования, но это не мое намерение. Я только хочу знать, есть ли убедительная причина, почему один из этих двух способов может быть предпочтительнее.

Ответы [ 3 ]

1 голос
/ 01 апреля 2010

Я предпочитаю второй способ, поскольку немного более очевидно, что вторая и последующие строки являются продолжением, потому что они начинаются с пробела. Я также выстраиваю первые двойные кавычки:

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

И я разделил строку где-то около 70-го символа, потому что строки длиннее 80 символов злые.

1 голос
/ 01 апреля 2010

Нет технической причины предпочитать одно другому. Что касается компилятора, они заканчиваются тем же строковым литералом.

0 голосов
/ 01 апреля 2010

Я обычно использую первый метод. Чисто, потому что я думаю, что начало сегмента строки с пробелом выглядит странно:

 " in one line";

Все сводится к личным предпочтениям (или к стандарту кодирования, если у вашей работы он есть, и если он становится требовательным).

...