什么是管道(|)字符?
C++ - What is the pipe ( | ) character?
我有一些代码,如:
#include "Communicate.h"
Communicate::Communicate(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(290, 150))
{
m_parent = new wxPanel(this, wxID_ANY);
wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
m_lp = new LeftPanel(m_parent);
m_rp = new RightPanel(m_parent);
hbox->Add(m_lp, 1, wxEXPAND | wxALL, 5);
hbox->Add(m_rp, 1, wxEXPAND | wxALL, 5);
m_parent->SetSizer(hbox);
this->Centre();
}
从本教程:http://zetcode.com/gui/wxwidgets/- First Apps
operator |是什么意思:
hbox->Add(m_lp, 1, wxEXPAND | wxALL, 5);
hbox->Add(m_rp, 1, wxEXPAND | wxALL, 5);
|
是位或。
库通常定义不同的掩码,比如你的wxEXPAND
和wxALL
,它们通常是整数常量,只有一个位集。
当使用按位或操作符时,可以将这两个操作符组合起来创建所谓的位域,这是一个由您定义的位集组成的整数。
你像这样组合它们:
wxEXPAND | wxALL
将创建一个位域,其中包含wxEXPAND和wxALL中的位。
通常标准库会检查这些位是否像这样设置,例如: if (bitfield & wxEXPAND) { .. // wxEXPAND is set
这是位与运算。当且仅当wxEXPAND
位设置在bitfield
中时,测试将返回true。
库使用它来允许您在单个寄存器中传递多个选项,例如
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 如何在C++中从字符串中分割字符
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- IPC使用多个管道和分支进程来运行Python程序
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 比较字符数组
- 管道无法读/写所有字符
- 将文本信息从 Windows 命令解释器 (cmd.exe) 管道到字符数组
- 从 c++ 到 Java 行的命名管道连接,每个字符之间有空格
- 什么是管道(|)字符?
- C++字符数组未通过管道读取
- 系统/管道调用更改传递给执行的命令中的特殊字符