Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么调用非 const 成员函数而不是 const 成员函数?
为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?
我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
c
class
operatoroverloading
This
assignmentoperator
为什么派生类不使用基类的operator=(赋值运算符)?
以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
c
operatoroverloading
assignmentoperator
在重载算术运算符中调用 C++ 析构函数
我有一个用于神经网络程序和重载算术运算符的定制矩阵库 这是类声明 class Matrix public int m int n double mat Matrix int int Matrix int Matrix const Matri
c
matrix
operatoroverloading
函数重载和类型转换解析
为什么我们在下面的代码中看不到 未定义的调用重载函数 错误 仅仅因为 int 是内置类型 在标准中的哪里可以找到转换为内置类型的保证 例如在下面的代码中 谢谢 include
c
operatoroverloading
typeconversion
overloading
安全重载流运算符>>
有大量关于超载的信息operator lt lt 模仿一个toString style 方法 将复杂对象转换为字符串 我对 感兴趣also实施逆过程 operator gt gt 将字符串反序列化为对象 通过检查STL来源 我收集到 ist
c
operatoroverloading
Stream
非成员运算符:无法将非常量左值引用绑定到右值
绑定一个non const rvalue to a rvalue与会员操作员一起工作 案例A 但绑定到非成员运算符 情况B 才不是 struct A A operator lt lt int i return this struct B i
c
operatoroverloading
rvalue
lvalue
在 R 中,如何将整个命令行放入二元运算符的 sys.call() 中?
我为 R 编写了一个二元运算符函数 即名称类似于 X 这样就不必输入 X a b 我可以使用更方便的语法a X b 我的目标是有一个包装器 lt 它会执行一些操作 例如记录对该环境中的对象所做的操作并检查 受保护 属性 该属性会在覆盖该对象
r
operators
operatoroverloading
newoperator
为什么默认的三路运算符(spaceship <=>)生成相等运算符(==)而用户定义的三路运算符则不会? [复制]
这个问题在这里已经有答案了 考虑这段代码 include
c
operatoroverloading
C20
spaceshipoperator
重载算术运算符
赋值运算符可以声明为 T 运算符 const t 在类中 但不能以这种方式定义算术运算符 它必须是友元函数 我不明白为什么 你能解释一下吗 算术运算符不必须是友元 那么你可以这样定义 MyClass MyClass operator con
c
operatoroverloading
2D 矩阵和重载operator() / 丑陋的语法
我在我的一个项目中使用二维矩阵 这就像建议的那样C 常见问题精简版 http www parashift com c faq lite operator overloading html faq 13 10 巧妙的是你可以像这样使用它 in
c
matrix
operatoroverloading
syntacticsugar
如何正确重载流运算符以在多态类中进行打印?
编辑 代码有一个拼写错误 现在它可以编译 但我仍然没有得到我想要的输出 我正在尝试重载流运算符std cout std fstream等等 但我无法正确处理多态性 我无法获得我想要看到的输出 我希望子类先显示超类的内容 然后显示其内容 而超
c
polymorphism
operatoroverloading
为什么 IComparable 不会自动重载比较运算符?
当一堂课IComparable 那么我们就知道了重载的一切 lt gt and 运营商由于CompareTo功能 对吧 那么为什么这些不会自动超载呢 看一下下面的例子 public class MyComparable IComparabl
c
Comparison
operatoroverloading
泛型和“二元运算符的参数之一必须是包含类型”错误
声明二元运算符时 至少其中一个操作数类型必须是包含类型 总的来说 这听起来是一个不错的设计决策 然而没想到下面的代码会导致这个错误 public class Exp
c
operators
operatoroverloading
在类型扩展中重载运算符
好的 所以我基本上尝试将绑定运算符添加到选项类型中 似乎我尝试的所有内容都有一些不明显的警告阻止我这样做 我怀疑这与 NET 类型系统的限制有关 并且可能与类型类无法在用户代码中实现的原因相同 不管怎样 我已经尝试了一些事情 首先 我尝试了
F
operatoroverloading
inline
optiontype
如何为 qDebug 重载运算符 <<
我正在尝试为存储数据的类创建更有用的调试消息 我的代码看起来像这样 include
c
QT4
operatoroverloading
重载多维括号[重复]
这个问题在这里已经有答案了 如何重载多维括号 假设我有一个类 它使我能够访问n 向量空间 例如 class NSpaceVector private int vectorSpace 8 8 8 8 8 8 8 public const NS
c
operatoroverloading
brackets
squarebracket
boost.log std::exception 格式化程序无法在自己的命名空间中找到运算符 << 重载
我为 boost log 创建了一个简单的格式化程序 如下所示this http www boost org doc libs 1 59 0 libs log doc html log extension settings html例如st
c
Exception
operatoroverloading
boostlog
C++ 编译器必须选择两个转换运算符中的哪一个?
一个类可以声明多个转换运算符 特别是 它可以是某种类型的转换运算符以及同一类型的常量引用 如果请求转换为该类型 则必须选择两个转换运算符中的哪一个 考虑一个例子 include
c
operatoroverloading
languagelawyer
类模板上的运算符重载
我在为模板类定义一些运算符重载时遇到一些问题 让我们以这个假设的类为例 template
c
templates
operatoroverloading
friend
1
2
3
4
5
6
...17
»