经典问题解析五
Posted sugarwill666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典问题解析五相关的知识,希望对你有一定的参考价值。
c+++中任然支持c语言中的可变参数函数
c++编译器的匹配调用优先级
1.重载函数
2.函数模板
3.变参函数
存在的缺陷:
变参函数无法解析对象参数,可能造成程序崩溃
进一步的挑战:
如何让编译器精确匹配函数,但不进行实际的调用?(sizeof)
构造中的异常
构造函数抛出异常
构造过程立即停止
当前对象无法生成
析构函数不会被调用
对象所占用的空间立即收回
工程项目中的建议
不要在构造函数中抛出异常
当构造函数可能产生异常时,使用二阶构造模式
避免在析构函数中抛出异常!!
析构函数的异常将导致:对象所使用的资源无法完全释放。
小结
c++中依然支持变参函数
变参函数无法很好的处理对象参数
利用函数模板和变参函数能够判断指针变量
构造函数和析构函数中不要抛出异常
以上是关于经典问题解析五的主要内容,如果未能解决你的问题,请参考以下文章