我想知道代码“\”的含义。我以前见过一些解释,但我忘了,谁能告诉我?
#include "stdafx.h"
#include <fstream>
using namespace std;
ofstream out("order.out");
#define CLASS(ID) class ID {\
public: \
ID(int) { out<<#ID " constructor\n;} \
~ID() { out<< #ID "destructor\n";}\
};
答案 0 :(得分:6)
每行末尾的反斜杠(\
)表示下一行是当前行的延续。
所以
#define class(ID) class ID
与
相同 #define class(ID) class \
ID
答案 1 :(得分:2)
答案 2 :(得分:1)
它使编译器看到当前行和\
之后的行作为同一行。
对于定义,这很重要,因为预处理器只考虑当前行上的内容。
例如:
#define CLASS(ID) class ID {
public:
ID(int) { out<<#ID " constructor\n;}
~ID() { out<< #ID "destructor\n";}
};
CLASS(foo)
将扩展为
class foo {
,而
#define CLASS(ID) class ID {\
public: \
ID(int) { out<<#ID " constructor\n;} \
~ID() { out<< #ID "destructor\n";}\
};
CLASS(foo)
将扩展为
class foo {
public:
foo(int) { out<<"foo" " constructor\n;}
~foo() { out<<"foo" "destructor\n";}
};
答案 3 :(得分:1)
它的反斜杠。它主要用于一行代码太大而需要拆分成可读性和文档的部分。它将一行连接到下一行,也可以链接多行。
答案 4 :(得分:1)
它允许您通过连接以反斜杠结尾的行与下一行来拥有多行#define。