STD: Bewegen Sie eine std :: string von einem std :: deque, dann std :: deque :: pop_front?C++

Programme in C++. Entwicklerforum
Guest
 STD: Bewegen Sie eine std :: string von einem std :: deque, dann std :: deque :: pop_front?

Post by Guest »

Während ich normalerweise meine eigenen Klassen verwende, die vor stl erstellt wurden. Ich habe beschlossen, diese STL -Objekte und Funktionen in einer eigenständigen Bibliothek zu verwenden, die bereits STL verwendete. Ich habe eine Frage zur Übernahme eines Zeigers (ähnlich wie MFC mit einem .detach () Methode/Funktion).
Ich habe einen Worker -Thread mit a Warteschlange von Std :: String s (in STD: deque ), wo ich mich bewacht möchte, wobei das nächste Element (vorne) der Warteschlange einem lokalen std :: string zuweisen Variable dann .pop_front Das Element aus der Warteschlange und Veröffentlichung des Schutzes (Scoped Operation). Alles, was es tun muss, ist den Zeiger zuzuweisen. Objekte (verweisen auf denselben Zeiger) sind in Ordnung (interne Referenzzählung oder Aufhebung der Interna der bewegten Quelle)?

Code: Select all

void fun()
{
std::string my_string;
{
std::lock_guard guard(my_mutex);
my_string = std::move(deque.front());
deque.pop_front()
}
// ... go on and using my_string below
}
tia !!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post