struct StructA
{
int i;
int j;
};
// Method 1
struct StructBA
{
int k;
StructA sa;
}
// Method 2
struct StructCA
{
int m;
StructA *psa;
};
// Method 3
struct StructDA
{
int n;
boost::shared_ptr<StructA> psa;
};
基本上,我需要将包含其他结构的结构作为函数参数传递给类的构造函数。 这种情况下最好的设计实践是什么?作为函数参数构造并传递结构体的有效方法
注意:如果不正确,请纠正我的理解。
我对方法1的理解> 有最简单的方法来处理数据,我们不需要显式分配资源和释放资源。 唯一值得关注的是它可能涉及不必要的副本。但是,如果我总是使用通过引用,这应该不成问题。
我给方法2> 该方法已在FMOD库(http://www.fmod.org/)中广泛使用,所以它必须具有其边缘的理解。但我们必须手动分配和释放资源。
我的方法的理解3> 它消除了手动释放分配的资源要求,但它涉及的开销相比,方法2
那么,哪些方法应该笔者在实践中,当使用?
的[C++?:当使用指针]可能重复(http://stackoverflow.com/questions/658133/c-when-to-use-pointers) – 2011-12-22 15:33:05
我知道规则时使用指针/参考,但这是一个不同的问题。 – q0987 2011-12-22 22:02:04