C++ の参照
#include <stdio.h> #include <string> using namespace std; class Hoge { private: string& s_; public: Hoge(string& s) : s_(s) {} void print() { printf("<%s>\n", s_.c_str()); } }; int main() { string data("abc"); Hoge hoge(data); hoge.print(); data.clear(); hoge.print(); data += "def"; hoge.print(); data = "cde"; hoge.print(); }
実行結果
% g++ test.cpp && ./a.out <abc> <> <def> <cde>