19. 특수 연산자
19.2 특수 연산자
19.2.1 첨자 연산자 []
[]struct Assoc {
vector<pair<string, int>> vec; // {name, value} 쌍의 배열
const int& operator[] (const string&) const;
int& operator[] (const string&);
}
// ...
// s 를 찾는다. 그 값이 발견되면 참조자를 반환한다.
// 그렇지 않을 경우 새로운 쌍 {s, 0} 을 만들고, 그 값에 대한 참조자를 반환한다.
int& Assoc::operator[](const string& s)
{
for(auto : vec)
if(s==x.first) return x.second;
vec.push_back({s,0});
return vec.back().second;
}
int main()
{
Assoc values;
string buf;
while(cin>>buf) ++values[buf];
for(auto x : values.vec)
cout << '{' << x.first << ',' << x.second << "}\\n";
}19.2.2 함수 호출 ()
()19.2.3 역참조 →
→19.2.4 증가와 감소 ++ --
++ --19.2.5 할당 및 할당 해제 new delete
new delete19.2.6 사용자 정의 리터럴
19.3 문자열 클래스
19.3.1 필수 연산
19.3.2 문자에 대한 접근
19.3.3 표현
19.3.4 멤버 함수
19.3.5 보조 함수
19.4 프렌드
Last updated