“| \”是什么意思?

4
在WINUSER.H中,它这样定义了WS_OVERLAPPEDWINDOW:
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED     | \
                             WS_CAPTION        | \
                             WS_SYSMENU        | \
                             WS_THICKFRAME     | \
                             WS_MINIMIZEBOX    | \
                             WS_MAXIMIZEBOX)

我不明白的是,与其使用operator |,使用| \有什么区别?

7个回答

6

一行代码以\结尾意味着“这一行未结束”,它会在预处理输出中消失。

这些行等同于:

#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | ...

稍微更易读一些。


6
管道符号 "|" 是按位或运算符,而反斜杠 "\" 表示定义会在下一行继续。

2
管道符号“|”用于按位或运算这些常量,反斜杠只是用来转义下一行。

1
两件不同的事情。 | 是按位或运算符,而 \ 告诉预处理器将下一行的内容添加到此行。这与

相同。
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | ...

1

| 是按位或。

在行末的 \ 表示将一行中的内容延续到下一行,以便将本应写在单行中的内容合并为逻辑行。

以下行与上述行等效。

#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)

1

\ 是一个简单的行继续字符;它意味着下一行是同一逻辑行的一部分。这只是为了可读性。


1

在编程中,\ 用于在一行的末尾,以使定义可以延伸到多行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接