好的做法:仅修改功能参数?

Bun*_*ori 3 c++

说,我开发了一个复杂的应用程序:在对象成员函数中,我应该只修改那些作为参数传递给成员函数的对象,还是可以访问和修改我有权访问的任何其他对象(比如公共或静态对象) ?

从技术上讲,我知道可以修改我有权访问的任何内容.我问的是好的做法.

有时候,作为一个参数传递我会访问和修改,特别是如果我知道对象成员函数不会被其他任何人使用,而是我.谢谢.

Mat*_* M. 6

全局状态永远不是一个好主意(虽然它有时更简单,例如日志记录),因为它引入了未在接口中记录的依赖关系并增加了组件之间的耦合.因此,static应该不惜一切代价避免修改全局状态(例如变量).注意:全局常量完全没问题

在C++中,您可以使用const关键字来记录(并使编译器强制执行)可修改的内容和不可修改的内容.

const法是一种保证一个对象的可见状态将是不动,通过传递参数const的参考,或值,也不会被触及.

只要记录完毕,就可以了......你应该努力const在类接口中使用尽可能少的非方法,并const在方法中使用非参数.