2009-08-26 24 views
0

NSDecimalAdd()では2つのことが奇妙です。まず、サンプルを検索すると、NSDecimalAdd(& foobar、& foo、&バーなど)のようにリファレンスでパラメータを提供するように見えます。 2番目の奇妙なことはconstです。なぜそこに定数が欲しいと言っているのですか?そして、なぜこれはの結果のには当てはまりませんか?NSDecimalAdd() - constの意味は何を意味するのですか?

NSCalculationError NSDecimalAdd (
    NSDecimal *result, 
    const NSDecimal *leftOperand, 
    const NSDecimal *rightOperand, 
    NSRoundingMode roundingMode 
); 

たぶん誰かがここに秘密の「公開」することができます...

答えて

1

constは、APIを使用すると、そこに渡しているパラメータの値を変更しないことを意味します。しかし、resultは、ルーチンの結果がどこに行くのかですから、変更する必要があります。したがって、constはありません。

+0

ありがとうございます!今私はそれを得る。 NSDecimalAdd(&resultDecimal、foo、bar、...)のように、これらのNSDecimalを参照渡しするのは良い考えです。 –

+1

私は、構造体が最適化として参照渡しされるので、関数にそれらをコピーするオーバーヘッドがないとも考えています。 –