C++异常处理解析2: 异常安全(内存泄露, 空指针等问题)

C++异常安全是针对C++异常处理带来的可能的隐患而言的, 这里我们主要讨论了C++异常安全的概念, 四个C++异常安全等级要求, 以及避免内存泄露和空指针的异常安全问题举例。 其中涉及到了资源管理类, “资源分配即初始化”等保证C++异常安全的技术.
Read More

C++异常处理解析1: 异常的引发(throw), 捕获(try catch), 标准异常等

C++的异常处理机制主要用于将错误检测和错误处理功能分离, 这篇文章主要总结了一下C++异常处理的基础知识, 从如何使用throw引发异常, 使用try catch等捕获异常到C++标准库提供的一套标准异常类和这些异常类的继承层次结构, 主要给出了相关使用方法和注意点以及一些程序设计的良好习惯.
Read More

C++ sizeof、 空类、 空数组学习笔记

这一篇文章里, 我主要总结了一下sizeof的用法, 以及由sizeof引发出来的一些比较平常会很模糊的概念问题, 涉及到了空类, 空数组的概念和用法, 以及C++为什么要设计这些空类空数组的存在.
Read More

悬垂指针(Dangling pointer) 注意事项

在C/C++里面, 指针的使用往往是比较容易出错的地方, 这里主要讨论了悬垂指针(Dangling pointer) 的概念, 产生原因, 以及注意事项, 也给出了实验代码, 分析了使用未定义行为的悬垂指针(Dangling pointer) 会输出的可能结果.
Read More