>
C ++ 초보자인데 unordered multiset 의 insert 함수를 사용하고 싶습니다  새 요소를 추가하려면 아래 포인터 :

struct Customer {
 size_t operator()(const char& c) const;
};
unordered_multiset<char, Customer>* ms

어떤 사람이 도와 줄 수 있습니까?


  • 답변 # 1

    void populate_multiset(const string& s, unordered_multiset<char, CustomHasher>* ms)
    
    
    이 함수는 string 를 받아들입니다.  그리고 당신의 unordered_multiset   char 를 받아들입니다 , char 만 삽입 할 수 있습니다

    for(size_t i = 0; i<s.size(); i++) {
        ms->insert(s[i]); // insert each individual char
    }
    
    
    또는 반복자를 사용하여 char 범위를 삽입하십시오.

    ms->insert(s.begin(), s.end());
    
    

    또한 표준 라이브러리는 이미 char 를 해시하는 방법을 제공하기 때문에 . 간단히 선언 할 수 있습니다

    unordered_multiset<char> ms;
    
    
    그러나 사용자 정의 해시 기능을 제공하려는 경우 가능합니다. 구문은 질문에있는 것과 정확히 같습니다.

    컨테이너를 함수에 전달하는 가장 일반적인 방법은 참조를 통하는 것입니다. 예 :

    void populate_multiset(const string& s, unordered_multiset<char, CustomHasher>& ms)
    
    

    그러면 . 를 사용할 수 있습니다   -> 대신  똑같은 일을 할 수 있습니다.

  • 이전 pine script - isdaily, isweekly와 비슷한 시간대를 어떻게 알 수 있습니까?
  • 다음 python 2.7 - 팬더에서 특정 행과 열 인쇄