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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: STD: Bewegen Sie eine std :: string von einem std :: deque, dann std :: deque :: pop_front?

by Guest » 07 Feb 2025, 00:25

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 !!

Top