Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

参照/ポインタを渡したり返したり

暇つぶしに眺めるために『C++言語辞典』を購入したわけですが、p35の「const参照」の項を見ていてなんかいまいち頭が整理できてないなーという感じだったので、例のコードを引き写してみる。

#include <iostream>
#include <string>
using namespace std;

string & appendr(string &str1, const string &str2) {
  return str1.append(str2);
}

string * appendp(string *str1, const string *str2) {
  return &(str1->append(*str2));
}

int main () {
  string str1("ほげ");
  string str2("ふが");

  cout <<  appendr(str1, str2)   << endl; // ほげふが
  cout << *appendp(&str1, &str2) << endl; // ほげふがふが
}

[標準]C++言語辞典

[標準]C++言語辞典