H264AVCEncoderTest类,构造函数与析构函数都是private,因此不能在栈上实例化。不能直接声明对象,也不能直接用new和delete来操作,只能将new和delete放在公有函数里,即create和destroy里。
private:
H264AVCEncoderTest();
virtual ~H264AVCEncoderTest();
类似于单件模式,提供了产生和自杀的函数接口:
static ErrVal create( H264AVCEncoderTest*& rpcH264AVCEncoderTest );
ErrVal destroy ();
create函数的实现。类成员中没有声明H264AVCEncoderTest的指针,但是create函数的参数采用了指针的引用。但是函数实现时,却又没有先检验指针是否为空,不知用意何在。
ErrVal
H264AVCEncoderTest::create( H264AVCEncoderTest*& rpcH264AVCEncoderTest )
{
rpcH264AVCEncoderTest = new H264AVCEncoderTest;
ROT( NULL == rpcH264AVCEncoderTest );
return Err::m_nOK;
在main函数中,调用的顺序是create-->init-->go-->destroy。到处都是宏,RNOK,RNOKS,RERR。。找到一篇博客: