-
std::map insert, emplace, try_emplace프로그래밍/c++ 2015. 11. 6. 12:54반응형123456789101112// 유저를 레이어에 추가합니다.void login_layer::push(std::shared_ptr<user_session> s){auto id = s->get_id();// 세션을 추가합니다.users.insert(std::make_pair(*id, user{ s }));users.emplace(*id, user{ s });users.try_emplace(*id, s); // 메모리에 직접 생성한다. 복사 없음!}
cs try_emplace는 키와 값을 모두 메모리에 직접 생성한다.(값의 복사 생성자를 지워도 빌드가 된다!)
12345678class user{public:user(const user& other) = delete;// ...};cs 반응형'프로그래밍 > c++' 카테고리의 다른 글
pyd 파일 없이 c++과 python 연동하기 (2) 2015.11.20 [c++] std::vector를 boost::python::list로 (0) 2015.11.19 boost::uuids::uuid를 std::unordered_map과 사용하기 (0) 2015.11.05 다양한 데이터 타입의 변수. boost::variant (0) 2015.11.02 std::bind 사용 예제 (0) 2015.10.25