C++没有指针的复制结构

God*_*laQ 1 c++ arrays structure

我想将数据结构复制到另一个

struct times{
    QString name;
    double time1;
    double time2;
    double time3;
};

/..../

times *abc = new times[10];
times *abc2 = new times[10];
Run Code Online (Sandbox Code Playgroud)

如何在不复制指针的情况下将abc复制到abc2中?

Mik*_*our 5

std::copy(abc, abc+10, abc2);
Run Code Online (Sandbox Code Playgroud)

虽然,除非你有充分的理由来处理原始指针,否则请使用更友好的容器:

std::vector<times> abc(10);
std::vector<times> abc2 = abc;  // copy-initialisation
abc2 = abc;                     // copy-assignment
Run Code Online (Sandbox Code Playgroud)

  • @MichaelUrman:的确,如果您要复制的类型不可复制,那么复制将是不可能的.幸运的是,[`QString`](http://qt-project.org/doc/qt-4.8/qstring.html)是. (2认同)