2010-03-31 81 views
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"; 

我倾向于使用第一种方式,但我没有为它真正的理由。所以我不知道是否有利于其中之一的优势?我知道这个问题往往是编码风格的问题,但这不是我的意图。我只想知道是否有一个令人信服的理由说明为什么这两种方式中的一种更可取。

+0

我在星期一和星期五使用第一种方式。 – 2010-04-01 00:36:11

回答

1

我更喜欢第二种方式,因为它更明显一些,因为它们以空格开始,所以第二个和后续行是连续的。我也就行了第一双引号:

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

我的地方分割线周围的70字符,因为超过80个字符长线是邪恶的。

+0

我与@JayM,虽然其他人指出,这是非常主观的。 – sblom 2010-04-01 00:43:19

1

没有技术上的理由可以选择其中之一。就编译器而言,它们最终会成为相同的字符串文字。

+0

是的,我知道。但你有一个规则在哪里拆分?或者你是在随机的地方做的? – quinmars 2010-03-31 22:52:21

+0

@quinmars完全依赖于所讨论的字符串。正如我所说,没有*技术*原因,所以你可以做任何你想要的。如果有人抱怨,捅他的眼睛。 – 2010-03-31 22:53:30

0

我一般使用第一种方法。纯粹是因为我想以一个空格开始的字符串段看起来奇怪:

" in one line"; 

它归结为个人的偏好(或编码标准,如果你的工作有一个,如果它得到这个挑剔)。