使用extern和使用getter之间的区别?

时间:2011-09-29 15:21:27

标签: c++

我有一个相机类,它设置了两个变量 - 投影和视图矩阵。我可以创建这些extern并将标题包含在我想要访问变量的任何内容中,或者我可以为它们创建一个getter /将这些变量的引用传递给任何需要它们的东西。这只是一个偏好的情况,还是以特定的方式做到了真正的好处?

2 个答案:

答案 0 :(得分:2)

getter的优点是不允许外部代码写入变量(例如,指针数组不能递增)。

否则,它在功能上是相同的,特别是如果它是供您自己使用的。

答案 1 :(得分:1)

这更像是封装问题。如果您的相机类是这两个矩阵的唯一持有者,那么通过getter而不是公共属性提供它们是明智的。

例如,这将允许您为相机创建子类,并为视图和投影矩阵创建其他方法。