gpt4 book ai didi

c++ - 不会出现最后一个列表元素的输出

转载 作者:行者123 更新时间:2023-12-01 14:39:33 25 4
gpt4 key购买 nike

我的任务是显示列表的第一个和最后一个元素。我有迭代器指向列表的第一个和最后一个元素。在他们的帮助下,我正在尝试执行一项任务。一切都与第一个元素一起工作,与最后一个一起工作-程序崩溃。可能是什么问题呢?

typedef list<float>::iterator it;
it i = X.begin(); it j = X.end();
cout << "First element -->> " << *i << "\tLast element -->> ";
cout << *j << endl;

最佳答案

函数begin()end()定义了一个半开范围([begin, end)),这意味着:
该范围包括第一个元素,但不包括最后一个元素。因此,名称末尾。

enter image description here

有关The advantage of an half open range的信息,请参见this答案。

看看cppreference。要打印最后一个元素,请尝试以下操作:

typedef list<float>::iterator it;
it i = X.begin(); it j = X.end();
cout << "First element -->> " << *i << "\tLast element -->> ";
cout << *(j - 1) << endl;

要么

更好的选择是 rbegin()
typedef list<float>::iterator it;
it i = X.begin(); it j = X.rbegin();
cout << "First element -->> " << *i << "\tLast element -->> ";
cout << *j << endl;

关于c++ - 不会出现最后一个列表元素的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61322307/

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