0

我们使用原始类型而不考虑构造函数和析构函数。可能正因为如此,它们中的大多数都存储在堆栈中。我们还将structlikefloat3用于原始类型。我们也可以为课程做同样的事情。在函数开始时,创建一个新实例,使用它并在函数结束时释放内存。

如果我们在类级别声明一个实例变量,而不是使用局部变量,那么该变量将一直存在,直到持有它的类被释放。这增加了稳定的内存使用量。此外,应该有一些更新方法被转发到这个实例。例如,更改容器大小可能会影响内容,因此应将新大小转发给它们。

类应该如何保持对变量的引用以避免多次创建变量?

我知道它与调用其构造函数(或析构函数)的次数有关,但我正在寻找一个通用的解决方案。例如,如果类只包含像 x、y、z 这样的原语并且它们是不可变的,那么您应该始终构造它们等等。

一种决定选择哪种方式的方法,使其float3不可变或使其 x、y 和 z 可修改。

4

2 回答 2

1

通常,您会希望最小化变量的范围以提高性能。此外,在 Java 中,总是更喜欢原语而不是它们的包装类等价物。

于 2012-09-02T01:51:02.380 回答
1

如果您使用原始类型,则可能没有区别。

如果您使用一些更“复杂”类型的对象,您可能必须在重用它之前将其重置为已知状态。这可能至少需要与创建一个新对象一样多的代码。它还会使您的代码复杂化,这绝不是一个优势。

除非您注意到代码中存在特定的瓶颈,否则您应该尽量保持其简单易读。除非绝对必要,否则不要使事情复杂化。

于 2012-09-02T09:22:13.943 回答