09 2016 档案
摘要:一、关键字decltype 由对象得到对象的数据类型,例如 Complexa(1,2); decltype(a)b(3,4); declare type是让编译器去找到它的类型。 Decltype甚至允许你使用在函数被调用时才确定的数据类型,例如: templatedecltype(x+y)add(T1x.T2y...
阅读全文
摘要:一、 可变参数模板(Variadic Templates) 在C++11中,出现了参数数目可变的模板,这部分在之前C++高级编程的时候就有学习到。 其实,在C中就有类似的设定。最常用的printf(),就是一个采用了一个…类型的可变参数。…类型的参数代表是一个参数组。 intsumi(intc,...){va_listap; va_sta...
阅读全文
摘要:本篇笔记紧接上篇,继续学习设计模式。 4. 对象创建类设计模式 通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合,从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 4.1 Factory Method(工厂方法) 4.1.1 应用场景 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 4.1.2 定义与解释 定义一个用于创...
阅读全文
摘要:一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 这样,你就能一次又一次 地使用该方案而不必做重复劳动。 0. 从面向对象谈起 底层思维与抽象思维: 底层思维要求程序员"向下"思考,去把握机器底层,从微观理解对象构造。这就包含了我们之前所学习的C++基本语法,封装,继承,多态这三大机制以及编译原理的相关内容。 抽象思维要求程序员"向上"思考,考虑如何让世界抽象成代码,...
阅读全文
摘要:本篇文章主要介绍泛型算法中的变易、排序、数值算法。 一、 变易算法 所谓变易算法是指那些改变容器中的对象的操作。 1.1 copy组 template OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result);Copy操作是将两个...
阅读全文

浙公网安备 33010602011771号