gpt4 book ai didi

c++ - 向列表中添加一个新元素,并返回对该元素的引用?

转载 作者:行者123 更新时间:2023-12-03 11:53:31 24 4
gpt4 key购买 nike

如何向列表中添加新元素,并获取对在列表中创建的元素的引用?

std::list<My_class> list;
My_class new_obj;
My_class& newly_created_obj_ref = list.add(new_obj); // <-- this won't compile, but it shows what I'm trying to do

最佳答案

My_class& newly_created_obj_ref = *list.insert(list.end(), new_obj);

insert 会通过list.end() 在指定位置添加一个元素,然后返回一个迭代器给插入的元素,因此你可以解引用这个迭代器来定义您的引用

一个例子

#include <list>
#include <iostream>

int main(){


std::list<int> list {2,3,4};
int& newly_created_obj_ref = *list.insert(list.end(), 5);
std::cout << newly_created_obj_ref << "\n";
for(auto & el : list)
std::cout << el << " ";

}

输出是

5
2 3 4 5

关于c++ - 向列表中添加一个新元素,并返回对该元素的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61851153/

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