1

嗨,我是 C++ 新手,这个问题可能很简单。请多多包涵 :)

我有一个类数组Foo ==> Foo foo_objects[4];

如果我想将此数组传递给函数:

function declaration: void do_something(Foo *foo_objects_ptr);
function call       : do_something(foo_ojects); 

现在我想将这个数组传递foo_objects给函数并防止对这些对象进行任何修改。

function declaration: void do_something(const Foo *foo_objects_ptr);
function call       : do_something(foo_ojects);

这是正确的方法吗?这是否保证所有四个对象都foo_objects将受到保护,不会在do_something方法内部进行任何修改,或者只有数组中的第一个对象享有const特权?

4

1 回答 1

3

foo_objects_ptr + i具有与 相同的类型foo_objects_ptr,因此它也是一个 const 指针。

foo_objects_ptr[i]所有的 const 也是如此i

于 2014-05-07T15:38:30.757 回答