C++编程剖析 问题 方案 和设计准则 设计模式之——bridge模式

1、Set的每个对象为什么会有三个指针?

2、非虚接口做为对外的接口,私有的虚函数作为子类不同的实现, 非虚接口函数当中只要简单的做一层转发而已。

     a) 不会带来效率的损失,因为内联函数编译器会优化;

     b) 唯一的弊端就是你多写了一行代码。

3、三类隔离接口和实现的方式: Bridge模式(Gamma95); Pimpl惯用法(控制编译期依赖和异常安全保证); handle/Body 或者envelope/letter(coplien92);

设计模式之——bridge模式  在不改变原有接口的基础上扩展新的功能;

浅析Java设计模式——适配器模式

4、构造函数为什么不能是纯虚的?

文章有解答:https://blog.csdn.net/shilikun841122/article/details/79012779

5、二义性和可访问性是控制子类代码行为的主要方式?

6、new的几种方式:

带异常的new,:会抛出一个bad_alloc的异常, 在栈解开的过程当中至少会销毁一部分对象从而令它们持有的资源得到释放;

place的new: 在指定的内存构造一个对象:

non exceptionThrow的new; 如果内存无法分配,就返回一个空指针,不抛出任何异常。

new的判空一般情况下无作用,因为一般操作系统都是先预留内存,在使用的时候才会commit,从而暴露异常;但是此时暴露异常已经不是问题的第一现场了,对问题的解决没有太大的帮助。

猜你喜欢

转载自www.cnblogs.com/khacker/p/10742439.html