0

次の関数定義の引数の2つの定数は何を意味しますか?

void myFunction (MyClass* const* const myObj);
4

2 に答える 2

3

右から左に読んでください:

MyClass* const* const
   ^   ^   ^  ^ ^
   |   |   |  | 1
   |   |   |  |
   |   |   |  2
   |   |   3
   |   4
   5

1) const (2) へのポインタ(3) const (4) へのポインタMyClass。つまり、ポインタを変更することはできませんが、MyClassインスタンスは変更可能です。

于 2012-12-12T06:10:24.993 に答える
1

引数は、オブジェクトへのポインタへのポインタです。

1つ目constは、間接ポインタ(としてアクセスされるポインタ*myObj)を変更できないことを意味します。

2つ目は、値によって渡されるconstため、何も役に立たないことをmyObj意味し、引数の関数のローカルコピーを。にすることは無意味constです。

于 2012-12-12T06:10:34.210 に答える