C++ vector push_back() 初始化结构体成员 - LeetCode 算法题解
C++ vector push_back() 初始化结构体成员
本文将介绍如何在 C++ 中使用 vector 的 push_back() 方法初始化结构体成员,并解决 LeetCode 算法题中遇到的相关问题。
问题描述:
假设我们有一个结构体 my_type 和一个 vector<my_type> 类型的变量 solu,我们需要使用 solu.push_back() 方法将一个新的 my_type 对象添加到 solu 中,并初始化该对象的 data 和 times 成员。
**代码示例:**cppstruct my_type { int data; vector
int main() { vector<my_type> solu; vector
代码解释:
- 首先,我们定义了一个名为
my_type的结构体,它包含一个int类型的成员data和一个vector<int>类型的成员times。* 然后,我们创建了一个vector<my_type>类型的变量solu和一个vector<int>类型的变量nums。* 在main()函数中,我们使用花括号初始化列表的方式创建了一个新的my_type对象,并将nums[0]赋值给data,将一个只包含元素0的vector<int>赋值给times。* 最后,我们将这个新的my_type对象作为参数传递给solu.push_back()方法,将其添加到solu的末尾。
注意事项:
- 在使用花括号初始化列表时,需要确保列表中元素的顺序与结构体成员声明的顺序一致。* 如果结构体成员本身也是一个容器类型,例如
vector,则需要使用嵌套的花括号初始化列表来初始化其元素。
总结:
使用花括号初始化列表是初始化 vector 中结构体成员的一种简洁高效的方法。通过这种方式,我们可以方便地创建和初始化新的结构体对象,并将其添加到 vector 中。
原文地址: https://www.cveoy.top/t/topic/nSU 著作权归作者所有。请勿转载和采集!