gpt4 book ai didi

C++ 将 "-"操作数与 list.back() 一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:58 25 4
gpt4 key购买 nike

我想在 for 循环中遍历列表并执行如下操作:

list<my_object> my_list;

for(int x = 0; x < my_list.size(); x++){

my_object tempObject = (my_list.back() - x);

//more actions...

}

但即使http://www.cplusplus.com/reference/stl/list/back/显示和示例,其中您将“-”运算符与“back()”函数一起使用,Visual C++ 告诉我“没有运算符”-“匹配这些操作数”...

几天前我开始使用 C++,但我不知道从这里该往哪里走。是否有可能以这种方式浏览列表?

最佳答案

遍历列表的合适方法是使用迭代器:

list<my_object> my_list;

for (list<my_object>::iterator i(my_list.begin()), end(my_list.end()); i!=end; ++i) {
my_object tempObject = *i;

//more actions...

}

在 C++11 中使用迭代器:

for (auto i = begin(my_list), end = end(my_list); i!=end(); ++i) {
my_object tempObject = *i;

//more actions...

}

您可以使用基于 for 循环的 C++11 范围:

for (my_object tempObject : my_list) {

//more actions...

}

或者,如果碰巧有一个 STL 风格的算法模板已经执行了您的“更多操作”:

more_actions(begin(my_list),end(my_list));

关于C++ 将 "-"操作数与 list.back() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173647/

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