SymbianOS C++编码规范与最佳实践

需积分: 5 2 下载量 107 浏览量 更新于2024-09-19 收藏 380KB PDF 举报
"C++程序员编码诀窍.pdf" 这篇文档是针对C++程序员的一份编码技巧指南,特别是针对Symbian OS平台的开发。文档由诺基亚公司在2003年发布,旨在提供最佳实践和建议,以提高代码质量和可靠性。 在内存管理方面,文档强调了几个关键点: 1. **清除堆栈(CleanupStack)**:这是Symbian OS中一个重要的概念,用于确保在异常情况下正确释放资源。文档指出,所有的程序都应该检查并处理"资源用尽"的错误。传统的错误处理方法可能不足以应对所有情况,而Symbian OS提供了一种解决方案,即使用CleanupStack来跟踪和清理在函数调用期间分配的资源。 2. **规则1:异常退出函数和捕获模块**:异常退出函数是当发生错误时用来清理资源的特殊函数。`new(ELeave)`运算符是与异常处理相关的,用于创建对象并在异常时抛出错误。`NewL()`和`NewLC()`是常见的构造函数约定,它们用于执行两阶段构造,并在异常时清理内存。`TRAP`和`TRAPD`是用于捕获和处理异常的宏。 3. **规则2:使用清除堆栈**:清理堆栈是一种确保资源在异常退出时被释放的方法。它需要在函数中使用,以便在函数结束时,无论正常还是异常退出,都能正确清理堆栈上的对象。 4. **规则3:两阶段构造**:这是一种最佳实践,尤其是在动态分配对象时。两阶段构造意味着首先分配内存,然后初始化对象,这样在初始化失败时可以安全地释放已分配的内存。 5. **公共错误**:文档列举了一些常见的错误,比如误用`TRAP`和`TRAPD`宏,错误使用`new`运算符,以及在不需要的情况下使用后缀`L`。 6. **内存泄漏**:文档还提到了检测和防止内存泄漏的重要性。在Symbian的WINS模拟器中,有工具可以帮助检测和定位内存泄漏问题。 这份文档为Symbian C++开发者提供了关于异常处理、内存管理和资源管理的重要指导,有助于编写更健壮、更稳定的代码。遵循这些最佳实践,开发者可以减少程序中的错误,提高软件的质量和可靠性。