当前位置: 首页 > 知识库问答 >
问题:

C++意义=和&=[重复]

陈嘉荣
2023-03-14
void Keyboard(int key)
{
    switch (key) {
    case GLFW_KEY_A: m_controlState |= TDC_LEFT; break;
    case GLFW_KEY_D: m_controlState |= TDC_RIGHT; break;
    case GLFW_KEY_W: m_controlState |= TDC_UP; break;
    case GLFW_KEY_S: m_controlState |= TDC_DOWN; break;
    default: Test::Keyboard(key);
    }
}

void KeyboardUp( int key)
{
    switch (key) {
    case GLFW_KEY_A: m_controlState &= ~TDC_LEFT; break;
    case GLFW_KEY_D: m_controlState &= ~TDC_RIGHT; break;
    case GLFW_KEY_W: m_controlState &= ~TDC_UP; break;
    case GLFW_KEY_S: m_controlState &= ~TDC_DOWN; break;
    default: Test::Keyboard(key);
    }
}
m_controlState |= TDC_LEFT
m_controlState &= ~TDC_LEFT

有人能解释一下这些部件是做什么的吗?一个带有输入值和结果的示例会很好。

不等于链接的问题,因为我还问了&=

共有1个答案

苗承
2023-03-14

在某种意义上&==运算符类似于+=/-=(即a&=b等价于a=a&b)。但是,它们进行二进制运算。正在进行按位and操作,而正在进行按位or操作。

示例:

a=1101

 类似资料:
  • 使用互斥量、条件变量,以及“期望”来同步阻塞数据的算法和数据结构。应用调用库函数,将会挂起一个执行线程,直到其他线程完成某个特定的动作。库函数将调用阻塞操作来对线程进行阻塞,在阻塞移除前,线程无法继续自己的任务。通常,操作系统会完全挂起一个阻塞线程(并将其时间片交给其他线程),直到其被其他线程“解阻塞”;“解阻塞”的方式很多,比如解锁一个互斥锁、通知条件变量达成,或让“期望”就绪。 不使用阻塞库的

  • 我最近参加了一次面试,其中一次面试问到要写一个ATM交易类图。我卡住了,用登录->检查余额等写了简单的框。但是,我们有任何标准的方法来编写类图吗?如果有,任何机构都可以为ATM交易或任何其他活动编写类图。类图的意义是什么?类图和UML图的区别是什么?

  • 但是得到了错误:

  • 自增 和自减 都是一元运算符,它的前置形式和后置形式都可以被重载。请看下面的例子: 运行结果: s1: 00:00 s2: 00:01 s1: 00:01 s2: 00:01 上面的代码定义了一个简单的秒表类,m_min 表示分钟,m_sec 表示秒钟,setzero() 函数用于秒表清零,run() 函数是用来描述秒针前进一秒的动作,接下来是三个运算符重载函数。 先来看一下 run() 函数的实

  • 主要内容:重载输入运算符>>,重载输出运算符<<,综合演示在 C++中,标准库本身已经对左移运算符 和右移运算符 分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)。 如果我们自己定义了一种新的数据类型,需要用输入输出运算符去处理,那么就必须对它们进行重载。本节以前面

  • 本文向大家介绍C#范围和重复,包括了C#范围和重复的使用技巧和注意事项,需要的朋友参考一下 示例 的Range和Repeat静态方法Enumerable可用于生成简单序列。 范围 Enumerable.Range() 给出给定起始值和计数的整数序列。 .NET Fiddle上的实时演示 重复 Enumerable.Repeat() 在给定一个元素和所需重复次数的情况下,生成一系列重复元素。 .NE