C++ 고급 문법 (5) — 임시 객체(Temporary Object)

const char* p = make_path().c_str(); 한 줄은 컴파일러 경고 없이 통과하고, 대개 출력도 멀쩡하게 나온다. 하지만 p가 가리키는 메모리는 이미 해제된 상태다. make_path()가 반환한 std::string은 이름 없는 임시 객체(temporary object)이고,…

Continue ReadingC++ 고급 문법 (5) — 임시 객체(Temporary Object)