我有一个C++类(在dll项目中),其成员变量是指向其他类对象的boost::shared_ptr。将它们分配给类构造函数内部还是有一个单独的init()函数更好?
我假设boost::shared_ptr中T指针的默认值为NULL。因此,如果我在构造函数内不做任何事情,在调用Init()函数之前,boost::shared_ptr的get()将返回NULL。
另外,当赋值语句中new出现内存分配问题时,应该在Init中捕获异常,还是告诉调用者捕获该异常?boost::shared_ptr a(new T);
是否有标准方法来模拟单元测试中的内存分配异常,并查看所有对象是否正确释放?
我假设boost::shared_ptr中T指针的默认值为NULL。因此,如果我在构造函数内不做任何事情,在调用Init()函数之前,boost::shared_ptr的get()将返回NULL。
另外,当赋值语句中new出现内存分配问题时,应该在Init中捕获异常,还是告诉调用者捕获该异常?boost::shared_ptr a(new T);
是否有标准方法来模拟单元测试中的内存分配异常,并查看所有对象是否正确释放?