Ich möchte verschieben ein std::map
Container Objekt zu einem anderen. In einfachsten Form:Wie ein STL-Container-Objekt an ein anderes Objekt angehängt/kopiert wird, wenn sein Wert nicht kopierbar ist, z. std :: thread
#include<map>
#include<thread>
#include<vector>
using namespace std;
int main()
{
map<void*, vector<thread>> m1, m2;
// m1 is updated
m1.insert(m2.begin(), m2.end()); // <--- problem here
m2.clear(); // not required anymore
}
jedoch eine Seite von error gibt:
error: use of deleted function ‘std::thread::thread(const std::thread&)’
Wie dies zu erreichen?
Nun, man die Fäden nicht kopieren können. Der einzige Vorschlag, den ich habe, ist ein 'map >>' (oder eine 'map >>', je nachdem, was passender scheint). –
Wintermute
Was du verlangst macht keinen Sinn - was bedeutet es, einen Thread zu kopieren? Möchten Sie es stattdessen verschieben? – Cameron
@Cameron, ja eigentlich ist es Bewegung. Danach würde ich 'm2.clear()' ausführen. – iammilind