我正在使用Xcode 5.1并观察到一种奇怪的语法。我添加了#34; \"在声明的最后:
CGFloat x = 3.0;\
令我惊讶的是,这不是一个语法错误,我的应用程序正在运行。但是,如果我添加两个斜杠,那么它会给我错误。此外,我没有看到我的应用行为发生任何变化。由于我是Objective C的新手,我想知道在语句末尾添加反斜杠的含义。
答案 0 :(得分:3)
由于源文件由预处理器处理,因此只需删除反斜杠换行符,如下所示:
CGFloat x = 3.0;\
CGFloat y = 4.0;
变为:
CGFloat x = 3.0;CGFloat y = 4.0;
仍然有效。但是:
CGFloat x = 3.0;\\
CGFloat y = 4.0;
变为:
CGFloat x = 3.0;\
CGFloat y = 4.0;
无效。
请参阅this pretty old looking text的第一部分。
答案 1 :(得分:0)
您正在“转义”文本行末尾的新行字符(返回)。由于在一条线上有多个语句是合法的,这没关系。如果你在结尾添加第二个斜杠,那么你在源代码中插入一个文字“\”字符,这是无效的语法。
您经常会在类似C语言的多行宏中看到单个'\'字符,以使它们更具可读性。