您好,我是 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
特权?
最佳答案
foo_objects_ptr + i
与 foo_objects_ptr
具有相同的类型,因此它也是一个常量指针。
因此 foo_objects_ptr[i]
对于所有 i
都是常量。
关于c++ - 将类对象数组作为 const 传递给函数,以防止对类对象进行任何修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522121/