sto cercando di sviscerare questo websocket ++ esempio https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cppqual è lo scopo di std :: set <VALUE, std :: owner_less <VALUE>>?
In linea 126, c'è typedef std::set<connection_hdl,std::owner_less<connection_hdl>> con_list;
. Mi chiedo perché non si tratta semplicemente di typedef std::set<connection_hdl> con_list;
.
Ho letto How does the Comma Operator work e http://en.cppreference.com/w/cpp/memory/owner_less ma non sono sicuro di quale sia lo scopo.
Cosa viene effettivamente memorizzato nello std::set
? Cosa fa in realtà std::owner_less
? Qual è lo scopo di creare un contenitore con questa struttura invece di memorizzare gli stessi connection_hdl
s?
Questo non ha nulla a che fare con l'operatore virgola, e la pagina a cui ti sei collegato per 'std :: owner_less' dovrebbe rispondere direttamente alla tua domanda. – ildjarn
'std :: set' richiede più parametri del modello, ma solo il primo è esplicitamente richiesto; il resto ha dei tipi predefiniti se non li definisci. Il secondo parametro è una funzione binaria utilizzata per l'ordinamento. –
BTW, 'connection_hdl' è un' std :: weak_ptr '. –