帮助器类-私有嵌套类与仅在实现文件中声明和定义的类

|| 我正在写一个基本的SQLite包装器。在执行此操作时,我注意到我经常手动打开和关闭SQLite数据库,并使用SQLite's API创建和销毁SQLite编译语句结构。手动创建/销毁这些资源。当函数必须在发生错误时过早返回时,我正在学习的内容会变得混乱。 在我看来,更多的C ++处理方法是让堆栈上的对象的生存期管理RAII样式的这些东西。这样,无论何时我从函数返回(无论是否由于错误而早),这些清理任务将在堆栈展开时由析构函数处理。 我的问题是,对于这些辅助RAII类(例如,SQLiteDBHandle,SQLiteStatementHandle),其使用与较大的SQLite包装器类绑定在一起,最好将它们声明为SQLite包装器中的私有嵌套类,或者简单地在其中声明和定义它们SQLite包装器的实现文件,没有自己的标头和实现文件? 我倾向于将它们作为独立类放在.cpp文件中。 仅声明并定义隐藏在我缺少的较大包装器的.cpp文件中是否有缺点?     
已邀请:
不,那很好。 如果某些类或函数仅在一个.cpp文件中使用,则有必要在该文件中定义它们。 另一方面,如果它们很大(无论什么意思),或者可以在其他地方使用,则最好将它们放在单独的源文件中。但是,如果需求发生变化,也可以在以后解决。     

要回复问题请先登录注册