Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- struct String {
- String(char *chars = "") : str(chars) {}
- virtual ~String() {
- std::cout << "destructing" << std::endl;
- delete[] str;
- }
- char &at(size_t idx) {
- std::cout << "ref" << std::endl;
- return str[idx];
- }
- char at(size_t idx) const {
- std::cout << "copy" << std::endl;
- return str[idx];
- }
- size_t size;
- char *str;
- };
- int main() {
- const String str_const("5432");
- String str("2345");
- char &a = str.at(2);
- char b = str.at(2);
- str.at(2);
- str.at(2) = 5;
- // char &aa = str_const.at(2);
- // char bb = str_const.at(2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement