随笔分类 -  C++程序学习

摘要:一。什么是STL? -STL,即:Standard Template Library,是C++的一部分 -STL是常用数据结构和算法的集合 -STL的目标是标准化组件,提高开发效率和程序可靠性 二。STL主要由以下3个部分组成 -容器:管理数据的集合 -算法:处理集合内的元素 -迭代器:遍历集合内的 阅读全文
posted @ 2017-10-23 18:03 吕晓宁 阅读(239) 评论(0) 推荐(0)
摘要:一。泛型编程的概念 1.不考虑具体数据类型的编程模式 对于Swap函数可以考虑下面的泛型写法 2.函数模板的语法规则 -template关键字用于声明开始进行的泛型编程 -typename关键字用于声明反省 template <typename T> 3.函数模板的应用 -自动类型推倒调用 -具体类 阅读全文
posted @ 2017-10-15 16:16 吕晓宁 阅读(176) 评论(0) 推荐(0)
摘要:一。函数重写 1.在子类中定义与父类中原型相同的函数 2.函数重写只发生在父类与子类之间 3.父类中被重写的函数依然会继承给子类 4.默认情况下子类的重写函数会掩藏父类的函数 5.通过作用域分辨符::可以访问到父类中被隐藏的函数 二。当函数重写遇上了赋值兼容性原则 问题所在: 1.在C++和C相同, 阅读全文
posted @ 2017-10-11 14:26 吕晓宁 阅读(178) 评论(0) 推荐(0)
摘要:一。赋值兼容性原则 1.子类对象可以当作父类对象使用 2.子类对象可以直接赋值给父类对象 3.子类对象可以直接初始化父类对象 4.父类指针可以直接指向子类对象 5.父类引用可以直接引用子类对象 二。类在C++编译器的内部可以理解为结构体 子类是由父类成员叠加子类新成员得到的 1.在子类对象构造的时候 阅读全文
posted @ 2017-10-10 15:39 吕晓宁 阅读(172) 评论(0) 推荐(0)
摘要:一。继承的概念 面向对象中的继承指类之间的父子关系 1.子类拥有父类的所有成员变量和成员函数 2.子类就是一种特殊的父类 3.子类可以当作父类对象使用 4.子类可以拥有父类所没有的方法和属性 二。继承初体验 1.子类继承父类直接默认继承private 2.类中的protected a。protect 阅读全文
posted @ 2017-10-10 14:45 吕晓宁 阅读(146) 评论(0) 推荐(0)
摘要:一。malloc与free 和 new与delete有什么区别 1.malloc和free是库函数,以字节为单位申请堆内存 2.new和delete是关键字,以类型为单位申请堆内存。 3.malloc和free单纯的对内存进行申请和释放 4.对于基本类型new关键字会对内存进行初始化 5.对于类类型 阅读全文
posted @ 2017-10-10 12:20 吕晓宁 阅读(190) 评论(0) 推荐(0)
摘要:一。使用C++标准库 1.c++标准库并不是C++语言的一部分 2.C++标准库是由C++语言编写而成的类库和函数的集合 3.C++标准库定义的类和对象都位于STD命名空间中 4.C++标准库的头文件都不带.h后缀 5.C++标准库涵盖了C库的类型 二。操作符对象相加的函数实现 三。操作符加号的重载 阅读全文
posted @ 2017-10-09 10:51 吕晓宁 阅读(233) 评论(0) 推荐(0)
摘要:一。成员变量的回顾 1.通过对象名能够访问 public 成员变量。 2.每个对象都可以有只属于自己的成员变量 3.成员变量不能在对象之间共享。 二。类的静态成员 1. C++中可以定义静态成员变量和静态成员函数 2. 静态成员属于整个类所有,不需要依赖任何对象。 3. 可以通过类名直接访问publ 阅读全文
posted @ 2017-09-26 17:53 吕晓宁 阅读(7418) 评论(0) 推荐(0)
摘要:一。类通常分为以下两个部分 1.类的实现细节 2.类的使用方式 二。C++中类的封装 1.成员变量 c++中用于表示类属性的变量 2.成员函数 c++中用于表示类的行为的函数 3.在C++中可以给成员变量和成员函数定义访问级别 -public 成员变量和成员函数可以在类的内部和外界访问和调用 -pr 阅读全文
posted @ 2017-09-25 14:45 吕晓宁 阅读(1134) 评论(0) 推荐(0)
摘要:一。对象的初始化 1.一般所有的对象都需要一个确定的初始状态 2.解决方案 a。为每个类偶读提供一个public的initialize函数 b。对象创建后立即调用initialize函数进行初始化 3.initialize只是一个普通的函数,必须显示的调用 4.一旦由于失误的原因,对象没有初始化,那 阅读全文
posted @ 2017-09-24 23:24 吕晓宁 阅读(170) 评论(0) 推荐(0)
摘要:一。基本概念 1.类和对象是面向对象中的两个基本概念 2.“类”指的是一类实物,是一个抽象的概念 3.“对象”是属于某个类中的一个实体,是一个具体存在的实物 # 类是一种“模板”,可以通过这种模板创建出不同的对象“实例” # 对象“实例”是类“模板”的一个具体实现 # 一个类中可以有很多对象,但是一 阅读全文
posted @ 2017-09-15 18:03 吕晓宁 阅读(563) 评论(0) 推荐(0)
摘要:一。const和引用的疑惑 输出结果 2.什么是符号表? #符号表是编译器在编译过程中产生的关于源程序中语法符号的数据结构。 #如常量表、变量名表、数组名表、函数名表。 #符号表是编译器自用的内部数据结构 #符号表不会进入最终产生的可执行程序中。 3.上面程序疑惑解答 a。只有用字面量初始化cons 阅读全文
posted @ 2017-09-12 22:13 吕晓宁 阅读(177) 评论(0) 推荐(0)
摘要:一。动态内存分配 1.C++中的动态内存分配 -C++中通过 new 关键字进行动态内存申请 -C++中的动态内存申请是基于类型进行的 -delete关键字用于内存释放 变量申请: Type* pointer = new Type delete pointer; 数组申请: Type* pointe 阅读全文
posted @ 2017-09-11 17:00 吕晓宁 阅读(211) 评论(0) 推荐(0)
摘要:一。重载(Overload) 1.同一个标识符在不同的上下文有不同的意义 如:“洗”不同的含义 - 洗衣服、洗脸、洗脑 如:“play”和不同的单词搭配后不同的含义 -play chess, play piano 2.函数重载(Function Overload) a.用同一个函数名定义不同的函数 阅读全文
posted @ 2017-09-11 12:19 吕晓宁 阅读(190) 评论(0) 推荐(0)
摘要:一 。常量和宏回顾 1. C++中的const常量可以替代宏常数定义 如:const int A =3 -> #define A 3 C++中是否有解决方案替代宏代码片段 二。内联函数 1. C++中推荐使用内联函数替代宏代码片段 2. C++中使用 inline 关键字声明内联函数 inline 阅读全文
posted @ 2017-09-08 20:49 吕晓宁 阅读(145) 评论(0) 推荐(0)
摘要:一。C++中的布尔类型 1.C++在C语言的基本类型之上增加了bool 2.C++中的bool可取的值只有true 和false 3.理论上bool只占有一个字节 如果多个bool变量定义在一起,可能会各占一个bit,这取决于编译器的实现。 Tip: true代表真值,编译器内部用1表示(兼容C语言 阅读全文
posted @ 2017-09-05 20:44 吕晓宁 阅读(306) 评论(0) 推荐(0)
摘要:一。C与C++的关系 1.C++继承了C语言的所有特性 2.C++在C的基础上提供了更多的语法和特性 3.C++的设计目标是运行效率与开发效率的统一 C -> C语言 + -> 面向对象支持 + ->类型加强,函数加强 二。C++中更强调语言的“实用性”,所有的变量都可以在需要使用时在定义。 在C语 阅读全文
posted @ 2017-09-05 12:41 吕晓宁 阅读(294) 评论(0) 推荐(0)
摘要:一. 一般的看法 1. 操作系统和驱动都是C写的,学好C就够了 2. LINUX大神都认为C++一无是处,学他干什么? 3. C++在应用层用的多,学嵌入式的没必要学 4. 以后做驱动开发,没精力也没必要学习C++.\ 二. 一些历史 1. UINX操作系统诞生之初直接用汇编语言写成的。 2. 随着 阅读全文
posted @ 2017-09-04 23:38 吕晓宁 阅读(966) 评论(0) 推荐(1)