小编Ana*_*hah的帖子

具有字符数组元素的结构的 STL 容器

假设我的结构如下所示 -

struct Member
{
    Membe(char* member1In, char* member2In)
    {
       strcpy(member1, member1In);
       strcpy(member2, member2In);
    }
    char member1[10];
    char member2[10];
};
Run Code Online (Sandbox Code Playgroud)

和 std::vector 声明为

std::vector<Member> members{};
Run Code Online (Sandbox Code Playgroud)

我使用emplace_back()下面的方法插入值

members.emplace_back(value1, value2);
Run Code Online (Sandbox Code Playgroud)

所以我的问题是当阵列增长超出容量时,它必须移动到其他位置。谁将为成员结构分配内存?我是否必须编写自己的复制、赋值和移动操作或提供的编译器就足够了?默认提供的操作会做浅拷贝并产生问题吗?

c++ stl vector c++11

2
推荐指数
1
解决办法
51
查看次数

标签 统计

c++ ×1

c++11 ×1

stl ×1

vector ×1