现在的位置: 首页 > 综合 > 正文

JMVC代码研读–1

2019年04月21日 ⁄ 综合 ⁄ 共 695字 ⁄ 字号 评论关闭

       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。。找到一篇博客:

       http://blog.sina.com.cn/s/articlelist_1740298962_0_1.html

抱歉!评论已关闭.