関数のこと2


C++とCとの大きな違いの一つは,参照を使えるかどうかということだろう. この参照というもの,C++ではかなり頻繁に使われるらしく,従来Cの関数で ポインタを使っていなかったものでさえも参照を使って書かれることが多いらしい. 例えば,Cなら,

double add( double x, double y ){
  return x+y;
}
となる関数も,
double add( const double &x, const double &y ){
  return x+y;
}
と書くのがC++の流儀らしい.確かに参照を使った方が(多少は)メモリの節約にも なっていいかなという気はする.しかも,関数を使う側から見ると何も変わる ところはない.

ただ,"const"がつけておくのが大事らしく,これをつけることによって, x や y の値が変更されないことが保証される. したがって,この関数中で,x , y の値を必要としているのか,x , y のアドレスを 必要としているのかの区別が明確にでき,あとでプログラムを書き換えるときなどに 不用意に x , y の値を変更してしまうのを防ぐことができる.
などと書いたものの,実は今一つよくわかんない.それに関数の宣言が ちょっと長くなるのは嫌なのだが,とりあえず参照で書けるところは参照で書くよ うにしようっと.





戻る