- #include <string>
- #include <iostream>
- void test1(std::string & dest, const std::string & src)
- {
- dest = src.c_str();
- }
- int main()
- {
- using namespace std;
- string str1 = "123";
- string str2;
- test1(str2, str1);
- str1.append("456");
- cout << str2;
- return 0;
- }
http://ideone.com/5XqhHo
레퍼런스 타입 선언없이(포인터 형태로 물론 안되고요) 또는 생성자 통하지 않고
레퍼런스 타입을 흉내내고 싶으면 어떠케함? 강제적인 얕은복사라고 할까나?
대충 뭘하고 싶은 건지는 알겠죵? 어버버버
str2의 값과 str1의 값이 같은 값을 가르키면 좋겠어연
std::string에서 그런방법은 없나연? 없어도 어떠케 트릭 없을까연?
소멸자 호출되면 또 오류날 수 도 있게지만...흠... 일단 이부분은 그냥 무시하도록 하고연...
allocator를 어떻게 하면 될거 같긴한데. 생각이잘 -.,-
그냥 포인터 써서 string* str2 = str1 하는수밖에 없는거같은데
그걸 어떻게 잘 조합하면 해결 가능할 거 같긴한데 흠... 일단 그것만 쓰는것은 원하는건 아니에여.
근데 왜 하고 싶은거임? 레퍼런스 안쓰는 이유가?