空格符和换行符的有关问题不明白意思

空格符和换行符的问题不明白意思
以下是C++ PRIMER中的一句话,就是不太理解。请教了。
在写c++程序时,大部分出现空格符的地方可用换行符代替。这条规则的一个例外是字符串字面值中的空格符不能用换行符代替。另一个例外是空格符不允许出现在预处理指示中。

------解决方案--------------------
就是语法层要求

if( a && b)
a 和 && 之间有空格你可以写成
if( a
&&
b)
编译器也可以解释

后面两个特殊的地方
char* p = "a b";
char* p = "a\nb";是不同的字符串' ' '\n'是表示不同的意义

#define ppp aa bb
aa 和 bb 中间出现空格是不行的 预处理会混乱