このコードは奇妙に見えます:
const double square(double x) {
return x*x;
}
常識的に言えばconst、この文脈では次のいずれかを意味します。
- 関数は
const double
また
- 渡された を変更しないことを約束
doubleします。しかし、それは値によって渡されました! 理解できない
また
const member functions変更しないという約束は知っています*thisが、これはメンバー関数でさえありません。
編集
const double結果を非変数に保存して編集できる場合、を返すポイントは何constですか??
double var = square(4.5); // no compile error
var = 0.3;