Ich versuche, dieses Websocket ++ Beispiel zu zerlegen https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cppWas ist der Zweck von std :: set <VALUE, std :: owner_less <VALUE>>?
Bei Zeile 126 gibt es typedef std::set<connection_hdl,std::owner_less<connection_hdl>> con_list;
. Ich frage mich, warum es nicht nur typedef std::set<connection_hdl> con_list;
ist.
Ich habe gelesen How does the Comma Operator work und http://en.cppreference.com/w/cpp/memory/owner_less, aber ich bin mir nicht sicher, was der Zweck ist.
Was ist eigentlich in der std::set
gespeichert? Was macht std::owner_less
eigentlich? Was ist der Zweck, einen Behälter mit dieser Struktur zu machen, anstatt die connection_hdl
s selbst zu speichern?
Dies hat nichts mit dem Komma-Operator zu tun, und die Seite, auf die Sie für 'std :: owner_less' verlinkt haben, sollte Ihre Frage direkt beantworten. – ildjarn
'std :: set' nimmt mehrere Vorlagenparameter, aber nur der erste ist explizit erforderlich; Der Rest hat Standardtypen, wenn Sie sie nicht definieren. Der zweite Parameter ist eine Binärfunktion, die zum Sortieren verwendet wird. –
BTW, 'connection_hdl' ist ein' std :: weak_ptr '. –