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>