operator-keyword相关内容

扩展C#中的现有结构以添加运算符

我希望扩展.NET内置的Color结构,以添加像+或-这样的新运算符。 我将按如下方式使用它们: Color c1 = Color.FromName("Red"); Color c2 = Color.FromName("Blue"); Color result = c2 - c1; 有可能吗?如果是,如何? 推荐答案 无法使用内置运算符执行此操作。 您可以编写一个扩展 ..
发布时间:2022-08-22 18:01:39 C#/.NET

布尔运算符优先级

我想知道编程语言中运算符的优先顺序是否取决于实现,或者是否存在所有语言都遵循的固定规则。如果可能,您能否先对以下优先级最高的运算符进行排序:AND、OR、NOT、XOR。 推荐答案 我搜索了一下,发现this说明某些语言(如APL和SmallTalk)没有运算符优先规则,它们从左到右/从左到右严格计算表达式。 然而,在大多数语言中,尤其是从C 派生的语言中,遵循的相对优先顺序不 ..
发布时间:2022-08-22 17:50:28 其他开发

什么是C++中的运算符AUTO?

Clang和Visual Studio编译器(但不是GCC)允许编写如下代码: struct A { operator auto() { return 0; } }; int main() { A a; a.operator auto(); } 什么是operator auto?它是特定编译器的扩展还是标准语言功能?如果是,它是以什么语言标准(例如C++17)出现的? ..
发布时间:2022-08-22 17:41:14 C/C++开发

目标C,n++和++n之间的区别

在Objective-C中,n++和++n之间是否有差异(例如,在for循环中使用)? 推荐答案 ++n;在计算表达式之前递增n的值。 n++;在计算表达式之后,递增n的值。 因此,请比较以下结果 int n = 41; int o = ++n; //n = 42, o = 42 结果如下: int n = 41; int o = n++; //n = 42 ..
发布时间:2022-04-20 12:59:24 移动开发

没有友元函数的C++<;<;运算符重载

正如主题所说的那样。有可能做到这一点吗?我可以在重载‘+’运算符时做到这一点,但是,我不能用‘<;<;’运算符做到这一点。 这是适用于我的Friend函数的代码示例: class Punkt2D { int x,y; public: Punkt2D(int wartoscX, int wartoscY) : x(wartoscX), y(war ..
发布时间:2022-03-10 12:07:09 C/C++开发

C++ const std::map 引用无法编译

将 std::map 的引用作为 const 传递是否会导致 [] 运算符中断?使用 const 时出现此编译器错误(gcc 4.2): 错误:没有匹配到‘operator[]’‘地图[名称]’ 这是函数原型: void func(const char ch, std::string &str, const std::map 而且,我要提一下,当我去掉 std::map 前面的 c ..
发布时间:2022-01-20 16:50:17 C/C++开发

bash set -e and i=0;让i++不同意

只有当变量的先前值为零时,带有调试选项“set -e -v"的以下脚本才会在增量运算符处失败. #!/bin/bash设置-e -v我=1;让我++;回声“我还在这里"我=0;让我++;回声“我还在这里"我=0;((i++));回声“我还在这里" bash(GNU bash,版本 4.0.33(1)-release (x86_64-apple-darwin10) 以及 GNU bash,版本 ..
发布时间:2022-01-17 17:57:43 其他开发

运算符重载和命名空间

可能重复: 非成员运算符重载应该放在哪里? p> 在浏览 SO 时,我经常发现涉及重载/定义 std::ostream& 的问题或答案.operator 或 Foo operator+(const Foo& l, const Foo& r). 虽然我知道如何以及何时(不)编写这些运算符,但我对 namespace 的事情感到困惑. 如果我有以下课程: 命名空间栏{类Foo {}; ..
发布时间:2022-01-14 23:41:57 C/C++开发

运算符<<中的执行顺序

我很难理解下面代码中的调用顺序.我期待看到下面的输出 A1B2 虽然我可以看到我得到的输出是 BA12 我认为调用 std::coutfooA()fooB() 等价于 call std::cout.operatorfooA() ).operator fooB() ) 但我可以看出事实并非如此.你能帮助我更好地理解它是如何工作的以及与全局 operator 的关系吗?这是 ..
发布时间:2022-01-07 19:48:04 C/C++开发

嵌套 if 语句和“&"操作员

if(a() && b() && c() && d())做一点事();如果一个())如果(b())如果(c())如果(d())做一点事(); 这两者之间是否存在“任何"性能差异? 例如,在a()变为0的情况下,它会在第一个if语句中继续运行b()、c()和d()吗?或者它会和第二个嵌套的 if 语句一样工作吗? 解决方案 它们完全相同. 要自己测试,请运行 gcc -S te ..
发布时间:2022-01-07 13:43:05 C/C++开发