operator-overloading 相关问题

运算符重载是编程语言的一个特性,它允许运算符的自定义实现,具体取决于所涉及的操作数的类型。有些语言允许定义新的运算符,而其他语言只允许重新定义现有的运算符。

使用 C++20 结构体的 Spaceship 运算符澄清 std::weak_ordering

我正在学习 C++20 中的 std::strong_ordering 和 std::weak_ordering 。根据文档,std::strong_ordering 要求等效值无法区分,这与 std::

回答 1 投票 0

在C(也是C++)中,“&”运算符如何同时充当地址运算符和按位运算符?由于 C 不支持运算符重载

运算符 '&' 可以用于以下两种方式 int a; scanf("%d",&a); 和 printf("%d",1&2)。 但行为不同(第一个作为地址运算符,第二个......

回答 6 投票 0

自定义C++类,无法重载正确的运算符

这是代码 #包括 #包括 #包括 #包括 #包括 使用命名空间 std; 类作者{ 民众: 作者(...

回答 1 投票 0

为什么定义全局 `void operator new(std::size size)` 不会导致多重定义链接错误?

为什么在全局范围内定义 void* operator new(std::size_t) 不会导致多重定义链接错误? 例如。下面的代码编译并运行,但我想 libstdc++ 必须定义一个 gl...

回答 1 投票 0

重载逻辑运算符 && 和 ||从 C++17 开始短路?

我在http://en.cppreference.com/w/cpp/language/operators中读到: 布尔逻辑运算符、运算符 && 和运算符 || 不像 内置版本,重载不排序...

回答 1 投票 0

在类模板中重载运算符[重复]

我编写了一个类模板,但运算符仅在两种类型相同时才起作用。我不知道如何定义头文件和cpp文件中的类型。这是我的代码: 头文件: ArrayList& 运算符=(

回答 1 投票 0

如何定义类模板的友元函数模板以实现运算符重载

我试图在模板类中获取一个友元函数进行编译,但错误消息和警告我不明白。我已经对这个问题进行了演示。我收到的错误是: ...

回答 2 投票 0

!(this == h) 中的运算符 == 错误不匹配

这真的很困扰我。我正在努力重载 C++ 中的比较运算符,但遇到了一个奇怪的错误,我不知道如何纠正。 我正在使用的代码如下所示: 布尔

回答 5 投票 0

C++中raylib的Vector2有预定义的运算符吗?

这些运算符是预先定义的还是我做错了什么? 我确实尝试编译但也给出了同样的错误。 这是代码: #include“raylib.h” #include“raymath.h” #包括...

回答 1 投票 0

重载逻辑 NOT 运算符以用作阶乘

我实现了一个带有重载 NOT 运算符的 Integer 类,如下所示: #ifndef INTEGER_H #定义INTEGET_H 模板 T阶乘(T t) { 如果(t==1) 返回 1...

回答 1 投票 0

实现和调用 IsTrue 运算符是否创建类实例的副本

由于运算符必须共享并且参数通过 ByVal 传递,IsTrue(MyClass) 运算符会创建副本吗?该类包含一个数组。我希望能够做到这一点: 如果 myClass1 那么 ... 但没有

回答 1 投票 0

运算符重载[重复]

iarray& 运算符 = (iarray& v) 为什么返回类型是 iarray 而不是 iarray ? 更新 有人可以详细说明为什么 iarray co...

回答 3 投票 0

如果我已经重载了,我们需要重载==运算符吗<? [duplicate]

我有一个自定义类型 A 的对象(一个具有许多成员的类,这些成员是 std::string、向量等,但没有原始指针)。 现在,我有一个 A 对象的列表。 一个 tmpobj; std::list 温度; 如果我

回答 2 投票 0

C++ 运算符==重载[重复]

可能的重复: 运算符重载的基本规则和习惯用法是什么? 以下重载operator==的方法有什么区别? // 斯特鲁斯特鲁普方式 朋友布尔运算符...

回答 3 投票 0

重载好友运算符<< for class template

超载<< works if I make it into an inline function. But how do I make it work in my case? template T my_max(T a, T b) { 如果(a > b)返回a; 否则返回...

回答 5 投票 0

为什么函数声明中参数有名称?

所以我的教授有一个示例 .h 文件,末尾有以下运算符 //复数.h #包括 使用命名空间 std; #ifndef MY_COMPLEX_H #定义MY_COMPLEX_H 类复杂N...

回答 1 投票 0

二维数组的运算符[][]重载

是否可以重载 [] 运算符两次?为了允许,像这样:function[3][3](就像在二维数组中)。 如果可能的话,我想看一些示例代码。

回答 17 投票 0

超载<< operator in c++ [duplicate]

嘿,我得到了一些我无法理解的东西,有两种重载此运算符的解决方案:1 是在方法的开头包含朋友,另1 不带 f...

回答 3 投票 0

如何定义运算符< on an n-tuple that satisfies a strict weak ordering [duplicate]

如何定义运算符< on n-tuple (for example on 3-tuple) so that it satisfy strict weak ordering concept ? I know that boost library has tuple class with correctly defined operator< but fo...

回答 7 投票 0

这里有没有一个好方法可以让用户既保留属性的访问控制又重载索引方法?(matlab 2020a)

假设类中的成员具有私有访问属性,即 GetAccess=private,如果我们使用“.”在重载的 subsref 方法中类型引用该成员,然后访问

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.