gpt4 book ai didi

c++ - STL 中的迭代器和 v.begin() 方法有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:55:23 25 4
gpt4 key购买 nike

<分区>

#include <iostream>
#include <vector>

using namespace std;

int main(void){
vector<int> v = {1, 2, 3};
auto& it = v.begin();

// 1.
v.begin() += 1;
cout << *(v.begin()); // output is 1

// 2.
cout << *(v.begin()+1); // output is 2
}

上面的代码显示 v.begin() += 1; 没有按我的预期工作。我不知道 code1 和 code2 之间的实际区别。 v.begin() 是左值还是右值?还是什么都没有?

当插入 it 而不是 v.begin() 时,两种情况都返回值 2。为什么会发生这样的事情?

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