09 2017 档案
摘要:面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况, 不同之处在于: OOP能处理类型在程序运行之前都未知的情况, 而在泛型编程中, 在编译时就能获知类型了. 函数模板 模板是C++中泛型编程的基础, 一个模板就是一个创建类或函数的蓝图或者说公式. 模板定义以关键字template
阅读全文
摘要:OOP: 概述 面向对象程序设计的核心思想是 数据抽象 , 继承 和 动态绑定 . 通过数据抽象, 我们可以实现类的接口与实现的分离; 使用继承, 可以定义相似的类型并对其相似关系建模; 使用动态绑定, 可以在一定程度上忽略相似类型的区别, 而以统一的方式使用它们的对象. 继承 基类负责定义在层次关
阅读全文
摘要:基本概念 重载运算符是具有特殊名字的函数: 它们的名字由关键字operator和其后要定义的运算符号共同组成. 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多. 对于二元运算符来说, 左侧运算对象传递给第一个参数, 而右侧运算对象传递给第二个参数. 除了重载的函数调用运算符operato
阅读全文
摘要:拷贝, 赋值与销毁 当定义一个类时, 我们显示地或隐式地指定在此类型的对象拷贝, 移动, 赋值和销毁时做什么. 一个类通过定义5种特殊的成员函数来控制这些操作, 包括: 拷贝构造函数 , 拷贝赋值运算符 , 移动构造函数 , 移动赋值运算符 和 析构函数 . 编译器可以合成这些成员函数, 其他的函数
阅读全文
摘要:动态内存与只能指针 静态内存 用来保存局部static对象, 类static数据成员以及定义在任何函数之外的变量. 栈内存用来保存定义在函数内的非static对象. 分配在静态或栈内存中的对象由编译器自动创建和销毁. 栈中的对象, 仅在其定义的程序块运行时才存在; static对象在使用之前分配,
阅读全文
摘要:[toc] 使用关联容器 关联容器与顺序容器有着根本的不同: 关联容器中的元素是按关键字来保存和访问的, 按顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. 关联容器支持高效的关键字查找和访问. 有两个主要的关联容器类型: map和set. map: map中的元素是一些关键字—值(key
阅读全文
摘要:概述 泛型算法: 称它们为”算法“, 是因为它们实现了一些经典算法的公共接口, 如搜索和排序; 称它们是”泛型的“, 是因为它们可以用于不同类型的元素和多种容器类型, 不仅包括标准库类型, 还包括内置的数组类型. 大多数算法都定义在algorithm中, 标准库还在头文件numeric中定义了一组数
阅读全文
摘要:插入排序, shell排序, 选择排序, 冒泡, 堆排序, 归并排序, 快速排序
阅读全文
摘要:Stack的链式实现, 创建, Push, Pop, Top, 清空以及销毁操作
阅读全文
摘要:单链表的创建, 插入, 删除, 查找, 遍历, 销毁
阅读全文
摘要:test库提供的最小化的测试套件minimal_test, 以及支持全面单元测试的测试套件UTF, 介绍测试断言, 测试用例, 测试套件, 测试夹具的概念
阅读全文
摘要:light_weight_test轻量级单元测试框架, 只支持最基本的单元测试, 不支持测试用例, 测试套件的概念, 简单小巧, 适合要求不高或者快速测试的工作.
阅读全文
摘要:assert库BOOST_ASSERT, BOOST_ASSERT_MSG宏基本用法, 禁用断言方法, 以及BOOST_ENABLE_ASSERT_HANDLER扩展用法
阅读全文
浙公网安备 33010602011771号