动态数组添加元素而不创建结构变量/对象
DynamicArray of adding elements without creating struct variables/objects
我已经用 3 个 UnicodeString 值定义了结构体,所以我可以像这样创建结构变量:
someStruct x = {"value1","value2","value3"};
但是我想做的是我的结构类型的 DynamicArray,我想向这个数组添加元素而不提前创建它们,而是在添加数组元素的同时分配结构值。
我试着这样做
DynamicArray<someStruct> arrayOfSomeStruct;
arrayOfSomeStruct.Length = 1;
arrayOfSomeStruct[0] = {"value1","value2","value3"};
但它不是这样工作的。你能帮我这个吗?
编辑:我已经找到了有效的解决方案,但我对它并不完全满意:
arrayOfSomeStruct[0].atr1 = "value";
arrayOfSomeStruct[0].atr2 = "value";
arrayOfSomeStruct[0].atr3 = "value";
尝试使用标准库中的向量
向量是表示大小可以更改的数组的序列容器。
您可以尝试以下代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct SomeStruct{
string str1;
string str2;
string str3;
};
int main()
{
vector< SomeStruct > someStructVector; //Create a vector of SomeStruct
someStructVector.push_back( {"str1 ", "str2 ", "str3"} ); //adds {"str1 ", "str2 ", "str3"} to the vector
for( auto ss : someStructVector )//Access the elements of the vector
cout << ss.str1 << ss.str2 << ss.str3 << endl;
return 0;
}
相关文章:
- 在类构造函数中使用结构变量
- 在类构造函数中定义结构变量的参数
- 为什么我们再次从结构对象创建结构变量?
- 如何从其他结构访问受保护的结构变量
- 指向结构变量的指针未保存到eeprom
- 为什么我的程序没有更改结构变量中的值?
- 在 CPP 中初始化 typedef 结构变量
- 带有大结构变量的 CUDA 内核函数给出了错误的结果
- 有没有办法初始化不涉及编写构造函数的新结构变量?
- 结构变量查询
- 在结构声明的分号之前声明的结构变量是否为全局变量
- C++ 如何访问指针的结构变量
- 使用指向结构变量成员的指针访问该结构的成员的地址
- 为什么在 sizeof() 函数中与 * 运算符一起使用和不使用 * 运算符时,指向结构变量的指针大小会有所不同?
- 如何在类别内的类中访问类中的结构变量
- 尝试使用文本文件初始化多个结构变量
- 从类对象到结构变量的 memcpy
- C++结构变量初始化时出现问题
- 如何在 C++ 中使用带有类/结构变量的列表
- 动态数组添加元素而不创建结构变量/对象