Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用运算符重载添加存储在vector中的类对象_C++_Operator Overloading - Fatal编程技术网

C++ 使用运算符重载添加存储在vector中的类对象

C++ 使用运算符重载添加存储在vector中的类对象,c++,operator-overloading,C++,Operator Overloading,编辑:好的,我完全被我实际需要做的事情和我不想说具体的事实弄糊涂了,这太让人困惑了,所以我重新写下我的问题。谢谢所有试图帮忙的人 我有一个类某物,它有字符a,浮点b,浮点c。这些值从文件中读取并存储为矢量向量。我想添加对象并在最后显示总和 我该怎么做呢 作为一个更具体的例子,这实际上与我正在做的事情有关: 我有一个类Force,它包含字符类型、float xArg、float yArg。这些值从文件中读取并存储在向量f中。我需要找到向量中所有力的总和,并显示结果 希望这更好与自定义累加器一起使用

编辑:好的,我完全被我实际需要做的事情和我不想说具体的事实弄糊涂了,这太让人困惑了,所以我重新写下我的问题。谢谢所有试图帮忙的人

我有一个
类某物
,它有
字符a,浮点b,浮点c
。这些值从文件中读取并存储为
矢量向量
。我想添加对象并在最后显示总和

我该怎么做呢

作为一个更具体的例子,这实际上与我正在做的事情有关: 我有一个
类Force
,它包含
字符类型、float xArg、float yArg
。这些值从文件中读取并存储在
向量f
中。我需要找到向量中所有力的总和,并显示结果

希望这更好

与自定义累加器一起使用:

std::accumulate(std::begin(vec), std::end(vec), 0.f,
                [](auto acc, auto const& something) {
                    return acc + something.b;
                });
与自定义累加器一起使用:

std::accumulate(std::begin(vec), std::end(vec), 0.f,
                [](auto acc, auto const& something) {
                    return acc + something.b;
                });

除了使用
std::acculate
,您还可以迭代
vec
的项目,并从项目中累积值

double sum = 0;
for(auto& item : vec )
{
   sum += item.b;
}

除了使用
std::acculate
,您还可以迭代
vec
的项目,并从项目中累积值

double sum = 0;
for(auto& item : vec )
{
   sum += item.b;
}

STL中的
累积
,可能还有
中的另一个算法?你如何或为什么“知道”你需要重载一个操作符?@NickyC应该说“我想使用操作符重载来实现”@Ana你有喜欢
操作符+
的理由吗?对于一个不涉及类本身求和的任务来说,这似乎是不直观的。我认为编辑就可以了。我也认为这是一个很好的机会与大家分享这个术语。
从STL中积累
,也许还有另一个算法从
?你如何或为什么“知道”你需要重载一个操作符?@NickyC应该说“我想使用操作符重载来实现”@Ana你喜欢
操作符+
有什么理由吗?对于一个不涉及类本身求和的任务来说,这似乎是不直观的。我认为编辑就可以了。我也认为这是一个与你们分享这个术语的绝佳机会。