C++编程思想 第1卷 第2章 字符数组的拼接

  C预处理器的一个重要功能就是可以进行字符数组的拼接(character array concatenation)。
如果两个加引号的字符数组邻接,并且它们之间没有标点,编译器就会把这些字符数组连接成

单个字符数组。当代码lie表宽度有限制时,字符数组的拼接就特别有用。

//: C02:Concat.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// Character array Concatenation
#include <iostream>
using namespace std;

int main() {
  cout << "This is far too long to put on a "
    "single line but it can be broken up with "
    "no ill effects
as long as there is no "
    "punctuation separating adjacent character "
    "arrays.
";
  getchar();
} ///:~

初看,上述程序好像是错的,因为在每行结束没有分号。请记住C/C++是自由格式语言, 虽然一般情况下看到在每行的末尾带一个分号,但实际要求是在每个语句结束时才加分号, 而一个语句很可能要写好几行。 输出 This is far too long to put on a single line but it can be broken up with no ill effects as long as there is no punctuation separating adjacent character arrays.

经验分享 程序员 微信小程序 职场和发展