之前我们讨论了C++中将结构体放置在std::vector
容器内的操作风险。这里我们来进一步讨论如何处理在容器中存储的结构体数据。
前文中提到,如果我们尝试获取容器中的结构体时,我们直接拿到的是该结构体的拷贝,如果要对结构体成员修改,我们需要整体进行两次复制:
1 | std::vector<struct A> data; |
放在遍历的场景中,可以使用如下的形式:
1 | std::vector<struct A> data; |
之前我们讨论了C++中将结构体放置在std::vector
容器内的操作风险。这里我们来进一步讨论如何处理在容器中存储的结构体数据。
前文中提到,如果我们尝试获取容器中的结构体时,我们直接拿到的是该结构体的拷贝,如果要对结构体成员修改,我们需要整体进行两次复制:
1 | std::vector<struct A> data; |
放在遍历的场景中,可以使用如下的形式:
1 | std::vector<struct A> data; |