C++ 不带指针的复制结构
C++ Copy structure without pointer
>我想将数据结构复制到另一个
struct times{
QString name;
double time1;
double time2;
double time3;
};
/..../
times *abc = new times[10];
times *abc2 = new times[10];
如何在不复制指针的情况下将 abc 复制到 abc2 中?
std::copy(abc, abc+10, abc2);
虽然,除非你有很好的理由来处理原始指针,否则请使用更友好的容器:
std::vector<times> abc(10);
std::vector<times> abc2 = abc; // copy-initialisation
abc2 = abc; // copy-assignment
for(int i = 0; i < 10; ++i)
abc2[i] = abc[i];
或者,或者,或者
std::copy_n(abc, 10, abc2);
或者,
您可以在结构中使用复制构造函数。
struct times{
times(const &A) {
this->name = A.name;
this->time1 = A.time1;
this->time2 = A.time2;
this->time3 = A.time3;
}
};
很简单,它与分配字符指针相同。
struct TestStruct
{
int a;
float c;
char b;
};
main()
{
struct TestStruct *structa = new TestStruct;
structa->a = 1121;
structa->b = 'D';
structa->c = 12.34;
struct TestStruct *abc = structa;
cout<<abc->a;
}
相关文章:
- 在一个微不足道的可复制结构中,移动语义应该实现吗?
- 复制结构 tm
- 复制结构时,system.AccessVioLationException
- C++:是否隐式复制结构
- 复制结构的一部分
- 在不使用 std::copy 函数的情况下编写这个复杂的复制结构体
- memcpy 问题 -> 尝试复制结构数组
- 使用declard和参数转发构造函数隐式复制结构
- 如何复制结构数组
- 如何复制结构数组
- C++ 不带指针的复制结构
- 添加到矢量而不复制结构数据
- 从 std::vector 中删除复制结构成员
- 仅在发布版本中出错,从 std::vector 复制结构
- 引用或复制结构的结构(已分配的memset)是一件有效的事情
- 深度复制结构C++
- 如何从指向void的指针复制结构体
- 在新版本的 gcc 上返回隐式不可复制结构的 std::map 时出现编译错误
- C/C++是如何复制结构的
- c++内存复制结构体到字节数组中