【问题标题】:What is `&|` in C++?C++ 中的 `&|` 是什么?
【发布时间】:2017-05-08 15:39:00
【问题描述】:

在研究 C++ 运算符重载时,我偶然发现了一个 page,上面写着:

新的运算符,例如 **、 或 &|无法创建。

&| 真的存在于 C++ 中吗?如果是这样,它叫什么,它有什么作用?

--- 更新 ---

对于未来想知道答案的人: 这句话意味着您不能创建“新”运算符,不能创建 new 运算符,也不能创建 C++ 中新的运算符。 这意味着

不能创建语言中不存在的运算符,如**、和&|

【问题讨论】:

  • "无法创建新的运算符,例如 **、 或 &|。"正确地暗示这些运算符不存在。
  • 评论说你不能制作foo ** bar;foo <> bar;foo &| barr
  • 请注意,链接问题中的 ** 不是 one 运算符,它是 operator*两个 用法
  • 伙计们,请解释一下为什么所有的反对票?
  • @user4581301 如果我是作者,我会写“无法创建语言中不存在的运算符,例如 **<>&|”。恕我直言,这会更清楚。

标签: c++ operator-keyword


【解决方案1】:

不,它们不存在。这就是为什么如果您可以创建它们,它们将是新的操作符,因为它们在您创建它们之前并不存在。

【讨论】:

  • 不是operator new 的“新操作符”实现吗? /s
  • 我认为它是某种 C++ 中的新运算符...谢谢
  • @Shadow 我主要是在开玩笑。
  • @cdhowie 我以为我笑了。但话又说回来,我认为问答网站上的解释多于少。
【解决方案2】:

这一行告诉我们可以重载现有的运算符,但不能创建新的运算符,如 **、 或 &| .它们在 C++ 中不存在。如果您仍然想知道它们的操作符是什么,那么 ** 是指向指针的指针, 不是 SQL 中的运算符,而 &|不存在且按位与和或的组合

【讨论】:

    猜你喜欢
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2020-08-08
    • 2011-05-28
    • 2011-03-26
    • 2012-07-12
    相关资源
    最近更新 更多