管理內存我不熟悉的客觀C++,這裏是我的問題:假設我有一個類我怎麼能在客觀C++
class MyTestClass
{
public:
int memLength_;
char *mem;
MyTestClass(int memLength)
{
memLength_ = memLength;
mem = new char[memLength_];
}
~MyTestClass()
{
delete []mem;
}
}
現在我想要做的就是使用創建MyTestClass
對象客觀的C++,和我所做的是如下:
@interface ObjectRetriever : NSObject
+ (MyTestClass)ObtainMyTestClass; // Function 1
+ (MyTestClass*)ObtainMyNextTestClass; //Function 2
@end
+(MyTestClass)ObtainMyTestClass
{
int memLen = 100;
MyTestClass myClass(memLen)
return myClass;
}
+ (MyTestClass*)ObtainMyNextTestClass
{
MyTestClass *myClassPtr;
myClassPtr = new MyTestClass(memLen)
return myClassPtr;
}
所以,當我使用ObjectRetriever
創建MyTestClass
對象,我會以這種方式
我的問題則是:
ObtainMyTestClass
和ObtainMyNextTestClass
,哪一個更好?- 如果我以這種方式實現和使用類,是否會有內存泄漏的危險?
謝謝。
「使用該類的操作符」?!?你的意思是「構造函數」? –
您是否考慮過使用[C++ 11](http://en.wikipedia.org/wiki/C%2B%2B11)? –
@KerrekSB在這裏,我的意思是使用類 – feelfree