将类对象数组作为const传递给函数,以防止对类对象进行任何修改
Pass an array of class objects as const to a function to prevent any modification of the class objects
你好,我是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
具有相同的类型,因此它也是一个const指针。
所以foo_objects_ptr[i]
对于所有i
都是const
相关文章:
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 为什么不能修改对象中的值?另外,我如何改进此链表?
- 使用可变允许修改unordered_set中的对象
- 未定义的对象(〔basic.life〕/8):为什么允许引用重新绑定(和常量修改)
- 如何修改函数中的对象?
- 结构对象的指针成员在传递给函数时被修改
- 修改多线程应用程序中的对象
- 通过引用在矢量中放置和修改对象
- 为什么我可以通过原始指针而不是shared_ptr来修改对象
- 如何修复对象在释放后可能修改的malloc错误
- const 方法使用引用修改对象
- C++ API:修改内部对象
- C++ 在其自己的类中创建对象的修改副本
- 打印/修改类对象的特定成员变量,其类定义列表 (STL) 包含的元素类型
- 我可以制作一个对象方法,如果单独调用,它将自行修改,但如果在复制初始化期间调用,则会返回一个新对象?
- 在C 向量中修改对象值的麻烦
- 使用基对象修改/访问派生类的信息的有问题的设计
- 对象修改通知
- 从c++中GUI中创建的对象修改GUI
- 将等待多个对象修改*多个*对象的状态