您好我是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
权限?
答案 0 :(得分:3)
foo_objects_ptr + i
与foo_objects_ptr
具有相同的类型,因此它也是一个const指针。
因此foo_objects_ptr[i]
是所有i
的常量。