C++ 프로그램에서 std :: list 및 std :: map (실제로 boost : unordered_map을 사용하고 있지만) 우아한 방법을 알고 싶습니다. 목록에있는 모든 요소를지도에 삽입하는 것. 열쇠는 목록에있는 요소에 대한 메소드 호출의 결과가되고 싶습니다. C++/Boost 수동 루프없이지도에 목록 항목 삽입
그래서 예를 들어 내가 가진 :std::list<Message> messages = *another list with elements*;
std::map<std::string, Message> message_map;
그리고 메시지에있는 모든 메시지의 키 존재의 message.id (과지도에 목록에서 모든 요소)를 삽입 할.
목록을 반복하고 수동으로 수행하지 않고이를 수행 할 수있는 방법이 있습니까? C++ 11을 사용할 수 없지만 C++ 11 솔루션에 관심이 있습니다. 나는 부스트를 사용할 수있다.
감사합니다.
손으로 풀고 일련의'삽입 '을 작성하지 않으면 어딘가에서 루프가 발생합니다. –
좋아, 아마도 나는이 말을 잘못했다. 루프를 직접 작성하고 싶지는 않습니다. 일종의 std :: copy 및 std :: inserter 작업 방식과 비슷합니다. – rpamely