Chcę przenieść obiekt kontenerowy std::map
na inny. W najprostszej postaci:Jak dołączyć/skopiować obiekt kontenerowy STL do innego obiektu, gdy jego wartość nie jest możliwa do skopiowania, np. std :: wątek
#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
}
jednak daje stronę error:
error: use of deleted function ‘std::thread::thread(const std::thread&)’
Jak to osiągnąć?
Cóż, nie można skopiować wątki. Mam tylko jedną sugestię: 'map >>' (lub 'map >>", w zależności od tego, która opcja wydaje się bardziej odpowiednia). –
Wintermute
To, o co prosisz, nie ma większego sensu - co to znaczy skopiować wątek? Czy chcesz zamiast tego przenieść? – Cameron
@Cameron, tak właściwie to jest ruch. Następnie uruchomię 'm2.clear()'. – iammilind