C++学习笔记
成龙大侠
这个作者很懒,什么都没留下…
展开
-
C++ 学习笔记-4
oop(面向对象) 三大特性 封装、继承、多态性对象组合:用已有的对象来组合出新的对象(这是一种软件重用的方式)什么东西在哪里用什么方式访问就叫内存模型objects can be used to build up other objects.compositionways of inclusion: 1: fully // 这种方式反映到代码本身就是成员变量...原创 2018-12-12 20:57:51 · 245 阅读 · 0 评论 -
C++ 学习笔记-9
static 在C语言里面 1: 如果是静态的全局变量,就意味着这个变量只在这个.c文件里有效 2: 静态的本地变量具有持久存储的作用, static的本地变量就是全局变量,它就是放在全局变量那个地方的 3: 静态的函数意味着只能在这个.c里面访问,在.c以外的是不能访问的在C++static 的成员变量被所有的对象共享静态的成员函数被所有的对象共享,它只能访问静态的变...原创 2018-12-25 09:45:15 · 156 阅读 · 0 评论 -
C++ 学习笔记-6
reference 引用c++复杂在提供了太多的两种东西 1. 太多的可以放对象的地方。c++ 的对象可以放在堆栈、堆、全局数据区里面 2. 太多的可以访问对象的方式。变量里放的是对象,指针访问对象,引用访问对象引用在定义时必须初始化来建立一种绑定关系向上造型把子类对象当作父类对象叫 upcast 反之叫 downcast, 但downcast 有风险ploymor...原创 2018-12-19 10:32:42 · 150 阅读 · 0 评论 -
C++ 学习笔记-5
function overloading // 函数重载返回类型不能构成函数重载的条件有载的函数在调用时一定要找到一个完全匹配的函数,不然会给出 ambitious 的错误default argumentsfun(int size, int num = 0);调用时如果不给出第二个参数 即 fun(100); 那么num使用初始值0如果是 fun(100, 50); 那么就是按...原创 2018-12-18 13:54:33 · 167 阅读 · 0 评论 -
C++ 学习笔记-10
在C++里面几乎可以重载所有的运算符. .* :: ?:sizeof typeid static_cast dynamic_cast const_cast reinterpret_cast这些运算符不能重载只有已经存在的运算符可以重载,不能自己创造重载的运算符不能改变其原来的操作数不能改变它的优先级运算符重载为成员函数参数表可以少一个,因为有一个隐藏的参数重载为...原创 2018-12-28 20:03:24 · 187 阅读 · 0 评论 -
C++ 学习笔记-1
类是概念,对象是实体标准的一个类具有两个文件。一个 .h 文件,一个 .cpp 文件,一个放声明,一个放定义面向对象的基本原则 1:一切都是对象 2:程序运行时一堆对象互相发送消息告诉对方做什么(而不是怎么做) 3:每一个对象有它自己的内存,这个内存里面又是其他对象组成的(对象里面还是对象) 4:每一个对象都有一个类型 5:一个特定类型的所有对象都可...原创 2018-12-09 14:46:33 · 248 阅读 · 0 评论 -
C++ 学习笔记-2
类是虚的,类是观点,类是概念,类不是实体,对象是实体local variable: 1: local variables are defined inside a method(函数), have a scope limited to the method to which they belong 2: a local variable of the same n...原创 2018-12-10 21:38:49 · 419 阅读 · 0 评论 -
C++ 学习笔记-3
new int;new int[10];delete p;delete [] p;new 和 delete 是关键字也是运算符new 的时候是先得到空间,然后初始化; delete 的时候是先析构,然后收回空间在动态内存分配的时候,程序内部有一个数据表来记录你每次申请的内存的首地址和大小delete p; 的时候程序先在数据表里去查找p,找到后删除数据表中p的这一项并回收内存int ...原创 2018-12-11 15:00:56 · 163 阅读 · 0 评论 -
C++ 学习笔记-8
分清楚 declaration 和 definition; initializ 和 assignment在C中可以认为 initalize 和 assignment 是一样的但是在啊C++中是完全不一样的在C++, int a(10); 和 int a = 10; 是等价的,两者都是初始化构造函数的参数表如果只有一个,而且是该类对象的常引用,那么这个构造函数称为拷贝构造函数或者复制构造函...原创 2018-12-22 13:47:16 · 161 阅读 · 0 评论 -
C++ 学习笔记-7
所有有 virtual 的类的对象里面最头上就会自动加上一个隐藏的不让你知道的指针, 那个指针叫做 vptr(virtual pointer)它指向一张表,那张表叫做 vtable, 里面是所有virtual函数的地址这个 vtable 不是对象的,而是这个类的如果一个类的函数只要有一个是virtual的,那么它的析构函数也必须是virtual的所有的oop语言默认都是virtual的,...原创 2018-12-21 20:33:25 · 202 阅读 · 1 评论 -
STL string map vector set 的使用方法
不再详细介绍,直接用代码展示用法。具体的介绍建议去官方一点的网站看,我在网上搜罗了一大堆,大多都写的不全面,有的还有错误。建议去这个网站看,虽然是英文的但能看懂:http://www.cplusplus.com/reference/stl/string code:#include <cstdio>#include <algorithm>#include...原创 2019-03-20 11:26:13 · 680 阅读 · 0 评论