C++에서

char operator[] (int index);

char& operator[] (int index) const;


이렇게 [] 오퍼레이터를 오버로딩 하려고 하는데

리턴 타입이 레퍼런스면 lvalue가 될 수 있다는 게 

char& operator[] (init index) const; 이 부분이 없으면

a[i] = "z"; 이런식으로 못 쓴다는 얘기인가요?


만약에 a[i] = b[i];가 있다고 치면 a[i]는 char&이고 b[i]는 char인 건가요?