上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 58 下一页
摘要: 令人迷惑的写法: 示例程序: 上述程序可以正常编译通过。 有了class,为什么还要定义typename呢? 用class定义普通类型的泛指类型,容易产生迷惑性。 由于一个二义性问题,产生了typename: 示例程序: 第57行使用Test_1作为类型参数来使用模板可以编译通过,这意味着第50行被 阅读全文
posted @ 2018-09-06 22:52 周伯通789 阅读(291) 评论(0) 推荐(0)
摘要: 面试问题: 编写程序判断一个变量是不是指针? 指针的判别: 匹配顺序示例: 可以看到匹配顺序符合我们的结论。 定义一个函数模板和一个同名的变参函数,给的参数如果是指针,编译器会先匹配模板。不是指针的话只能匹配变参函数。 实验: 第41行我们看到输出了非法指令,这是为什么呢,因为变参函数是C语言的特性 阅读全文
posted @ 2018-09-06 22:13 周伯通789 阅读(175) 评论(0) 推荐(0)
摘要: 类型识别: 为什么引入类型识别呢?因为面向对象中有一个非常重要的原则就是赋值兼容性原则,就是子类对象完全可以当成父类对象使用。 当我们拿到指针p,我们知道它到底指向子类还是父类对象吗? p的静态类型是Base,本意是期望指向Base对象,但是由于赋值兼容性,指针有可能指向子类对象,子类对象在这里是动 阅读全文
posted @ 2018-09-06 21:27 周伯通789 阅读(167) 评论(0) 推荐(0)
摘要: catch抛出异常: 为什么要在catch中抛出异常呢? 异常的重新解释实验: 运行结果如下: 如何使异常的信息更加丰富呢? 类类型的异常示例: C++标准库中提供了实用的异常类族 标准库中异常使用: Array.h HeepArray.h 主程序: 运行结果: 小结: 阅读全文
posted @ 2018-09-05 22:03 周伯通789 阅读(226) 评论(0) 推荐(0)
摘要: C++异常: 示例程序: 运行结果如下: 异常类型匹配实验: 运行结果如下: 小结: 阅读全文
posted @ 2018-09-05 21:52 周伯通789 阅读(153) 评论(0) 推荐(0)
摘要: 异常处理: 异常处理的方式: 示例程序: 运行结果如下: 缺陷: 我们需要统一加减乘除的调用方法,将除法改为两个参数,而且还有异常处理的功能。 改进方法: 除法操作异常处理优化: 程序先执行28行,这是直接执行setjmp,就直接将程序执行上下文保存在env中,然后条件判断为真,然后执行第30行的除 阅读全文
posted @ 2018-09-05 21:21 周伯通789 阅读(177) 评论(0) 推荐(0)
摘要: 单例模式: 问题: 如何定义一个类,使得这个类只能创建一个对象? 示例: 运行结果如下: 可以看到这里打印的地址是一样的。 单例类对象在整个系统的运行过程中一般是不释放的。 存在的问题: 解决方案: 程序如下: 主函数: 第9行将使用当前类作为参数的类模板声明为友元,使得能够调用当前类的构造函数。 阅读全文
posted @ 2018-09-05 21:02 周伯通789 阅读(180) 评论(0) 推荐(0)
摘要: 智能指针的意义: STL中的智能指针: auto_ptr使用示例: 运行结果如下: STL中其它的智能指针: Qt中的智能指针: Qt智能指针示例: 运行结果如下: Qt中的其它智能指针: 智能指针类模板实现: 测试程序: 运行结果如下: 小结: 阅读全文
posted @ 2018-09-05 20:43 周伯通789 阅读(201) 评论(0) 推荐(0)
摘要: 预备知识: 有趣的面试题: 示例: 当编译器编译到第26行时,看到const就会将VALUE放入符号表,又看到了static,因此这个变量也进入了全局数据区。静态的const变量是可以在类中直接赋值的。 最快的求和程序如下: 运行结果如下: 完善程序: 第33行就是特化。 这是一个递归的过程。 运行 阅读全文
posted @ 2018-09-05 20:28 周伯通789 阅读(196) 评论(0) 推荐(0)
摘要: 多参数类模板: 特化: 上图特化的意义是将原来接收任意两个类型参数的模板特化为只能接收一种类型的两个参数。 这意味着如果定义类时我们给的两个参数是同种类型的,则编译器优先使用右边的这种模板实现。 一个类模板实际分开实现为两个部分,编译器根据具体的参数选择其中的一个模板。 编译器会认为上图中的两个Te 阅读全文
posted @ 2018-09-04 23:29 周伯通789 阅读(188) 评论(0) 推荐(0)
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 58 下一页