gpt4 book ai didi

c++ - 在方法c++上调用方法

转载 作者:搜寻专家 更新时间:2023-10-31 02:10:48 24 4
gpt4 key购买 nike

list_sorter add(std::list<typeOfList> &list){
list_num++;
lp.insert(lp.end(), list.begin(), list.end());
lp.sort();
list.clear();
std::cout << list_num << std::endl;
return *this;}

我在类模板中有这个小方法,主要是这样调用它:

si.add(lc).add(lb);

它确实执行了两次,计算出一个增加的 list_num,但是在第二次 add() 之后它没有被保存。这是为什么?

最佳答案

add 按值返回,这意味着它将返回一个从 *this 复制的新的临时 list_sorter,这个临时没有任何内容处理原始对象。

您可以将其更改为按引用返回。即

list_sorter& add(std::list<typeOfList> &list){
list_num++;
lp.insert(lp.end(), list.begin(), list.end());
lp.sort();
list.clear();
std::cout << list_num << std::endl;
return *this;
}

关于c++ - 在方法c++上调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44688287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com