このコードは奇妙に見えます:
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;