이 websocket ++ 예제를 해부하려합니다. https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cppstd :: set <VALUE, std :: owner_less <VALUE>>의 목적은 무엇입니까?
라인 126에는 typedef std::set<connection_hdl,std::owner_less<connection_hdl>> con_list;
이 있습니다. 왜 그것이 단지 typedef std::set<connection_hdl> con_list;
이 아닌지 궁금합니다.
나는 How does the Comma Operator work과 http://en.cppreference.com/w/cpp/memory/owner_less을 읽었지만 목적이 무엇인지 잘 모르겠습니다.
실제로는 std::set
에 저장되는 것은 무엇입니까? std::owner_less
은 실제로 무엇을합니까? connection_hdl
자체를 저장하는 대신이 구조로 컨테이너를 만드는 목적은 무엇입니까?
이것은 쉼표 연산자와 아무 관련이 없으며'std :: owner_less'에 링크 된 페이지가 직접 질문에 대답해야합니다. – ildjarn
'std :: set'은 여러 개의 템플릿 매개 변수를 취하지 만 첫 번째 매개 변수 만 명시 적으로 필요합니다. 나머지는 정의하지 않으면 기본 유형을 갖습니다. 두 번째 매개 변수는 정렬에 사용되는 이진 함수입니다. –
BTW,'connection_hdl'은'std :: weak_ptr'입니다. –