c++ - 何时重载逗号运算符?

标签 c++ function operator-overloading

我经常在 SO 上看到有关在 C++ 中重载逗号运算符的问题(主要与重载本身无关,但与序列点的概念有关),这让我想知道:

什么时候应该使用逗号?它的实际用途有哪些示例?

我只是想不出任何我见过或需要类似东西的例子

foo, bar;

在现实世界的代码中,所以我很好奇什么时候(如果有的话)实际使用它。

最佳答案

我使用逗号运算符来索引具有多个索引的 map 。

enum Place {new_york, washington, ...};

pair<Place, Place> operator , (Place p1, Place p2)
{
    return make_pair(p1, p2);
}


map< pair<Place, Place>, double> distance;

distance[new_york, washington] = 100;

关于c++ - 何时重载逗号运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55841976/

相关文章:

c++ - 值和对象不同的编程语言

c++ - operator+ 重载返回对象导致内存泄漏,C++

c++ - 这个构造函数在做什么?

PYTHON:如何创建一个函数来接收变量输入,然后将其发送给另一个函数

Javascript,在对象文字中传递一个函数,它是可调用的吗?

R-加速与 data.table 子集相关的计算

c++ - 错误 : Initial value of reference to non-const must be an lvalue

c# - true 和 false 的运算符重载如何工作?

python - c++ 中的 xgboost 负载模型(python -> c++ 预测分数不匹配)

C++ 二维下标运算符