C++基础
对C++基础的认识和使用,以及和C的不同
深山里的小白羊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++数据结构_0
数据结构是学习算法过程中必不可少的一步,本系列博客主要是对自己学习数据结构课程的一个记录,方便以后自己查阅,如果同时还能帮助到读者的话,更是荣幸之极。如有错误,也希望读者能及时提醒,谢谢学习的课程为《C++数据结构》,老师为马老师,该课程在网易云课堂上免费,大家可随时去听该课程主要讲解了数组,字符串,链表(包含环形链表),递归,栈和队列,位运算,哈希表,树,二分法,快速查找法等等 ...原创 2018-07-24 13:11:16 · 287 阅读 · 0 评论 -
C++数据结构_1.数组-查找算法
1.数组的优缺点:占据一块连续的内存,指定数组的大小,根据大小分配内存大小。因为数组是连续存储的,所以对于数组的查找和读写,时间效率较高。但又因为数组是连续存放的,内存分配容易造成浪费,空间效率不高2.数组与指针的关系先看代码:#include <iostream>using namespace std;int GetSize(int data[]){ ...原创 2018-07-24 15:48:47 · 2669 阅读 · 0 评论 -
C++数据结构_2.字符串-替换算法
1.字符串 是由若干字符组成的序列,C/C++中每个字符都以字符'\0'结尾 2.字符串的越界char str[10];strcpy(str,"0123456789");这会产生字符串越界错误。我们申明字符串str的大小为10,这时在字符串结尾'\0'已经占用一个字节了,如果再将"0123456789"十个字节的字符串复制过去的话,将会产生越界错误char...原创 2018-07-24 18:36:07 · 2221 阅读 · 0 评论 -
C++基本数据类型
整型:短整型short、整型int、长整型long、长长整型long long //short、long和long long后面可以跟一个int也可以不跟浮点型:单精度浮点型float、双精度浮点型:double、扩展精度浮点型:long double字符型:char、宽字符型型:wchar_t布尔型:true(1),false(0)无符号型:在数据类型前面加上unsigne...原创 2018-07-30 14:39:21 · 4366 阅读 · 1 评论 -
字面常量
程序里面的任何一样东西都有一种称呼,例如:数据类型、变量、常量、类、函数等等在程序里面,为基本数据类型赋值的结果值被称之为字面常量,例如,int a = 10;这个10被称之为字面常量字面常量的类型:1.整型字面常量可以表示为10进制、8进制(以0开头),16进制(以0x开头),无符号整型字面常量后面加个u表示,长整型加L表示int a1 = 10;int a2 = 010...原创 2018-07-30 18:30:18 · 5823 阅读 · 1 评论 -
new、delete和malloc、free的异同
malloc和free是C语言中,申请内存和释放内存的方式;而new和delete是C++语言中申请内存和释放内存的方式1.相同点:功能相同,都是申请和释放内存2.不同点:1)格式不同:molloc申请空间:类型 *指针变量名=(类型 *)malloc(申请内存的字节数),例如:int *p1 = (int *)malloc(sizeof(int)); ...原创 2018-07-31 19:51:04 · 360 阅读 · 0 评论 -
namespace命名空间
命名空间是C++区别C的一个地方,C中不允许有相同的变量名或者函数名出现,但C++中可以,但是要在不同的命名空间下进行声明,命名空间就是为了区分相同的变量名和函数名1)创建命名空间格式:namespace 空间名{ 声明变量名; //可以在命名空间里面或者外面进行初始化和赋值 声明函数; //可以在命名空间里面或者外面进行函数的实现}...原创 2018-07-31 20:31:37 · 224 阅读 · 0 评论 -
函数参数缺省值
1.指定全部形参的值在定义函数的时候,我们可以“初始化”形参的值,这样做就可以不向函数中传递参数,如果不传递参数,那么函数会使用默认形参的值;如果传递了参数,那么形参的值会被实参的值覆盖掉。例如:#include <iostream>using namespace std;int Sum(int a = 1, int b = 2){ return a + b;}...原创 2018-07-31 22:02:26 · 11261 阅读 · 1 评论 -
函数重载
1.什么是函数重载C语言中不能出现两个同名函数的声明,但C++中可以,两个函数可以名字相同,但他们形参的个数和形参的类型不同,根据参数的个数或者参数的类型,来调用相应的函数,这样调用函数更加灵活了。例如:#include <iostream>#include <string>using namespace std;int fun(int a){ ret...原创 2018-07-31 22:36:36 · 321 阅读 · 0 评论 -
类
1.类的创建class 类名{ 添加变量和函数}; //分号不能省略class Cperson{ int a; void fun() { cout << "we are csdn" << endl; }};2.对象的创建格式1(栈区普通对象):类名 对象名Cperson op1;格式2(堆区指针...原创 2018-08-01 14:42:20 · 172 阅读 · 0 评论 -
友元
1.关键字friend2.作用对某个外部函数或者不相关的类使用友元,该外部函数或者外部类就可以访问类中的所有成员,这会失去protected和private的保护,破坏了类的封装性3.友元函数1)友元函数或类对类的所有成员都是完全可见的,不管是protected还是private成员2)友元函数或类在类中的位置不受影响,放在public、protected或者private...原创 2018-08-01 15:26:09 · 160 阅读 · 0 评论 -
析构函数
1.什么是析构函数析构函数于构造函数相对应,构造函数是对象创建的时候自动调用的,而析构函数就是对象在销毁的时候自动调用的的特点:1)构造函数可以有多个来构成重载,但析构函数只能有一个,不能构成重载2)构造函数可以有参数,但析构函数不能有参数3)与构造函数相同的是,如果我们没有显式的写出析构函数,那么编译器也会自动的给我们加上一个析构函数,什么都不做;如果我们显式的写了析构函数,...原创 2018-08-01 19:45:58 · 51730 阅读 · 6 评论 -
this指针
1.变量作用域先看一段代码:#include <iostream>#include <string>using namespace std;class Cperson{public: Cperson(int a) { a = a; } void show() { cout << a << endl; }...原创 2018-08-01 20:29:06 · 300 阅读 · 0 评论 -
常函数
1.格式类型 函数名(形参) const{}#include <iostream>#include <string>using namespace std;class Cperson{public: void show() const { cout << "we are csdn" << endl; }};...原创 2018-08-01 20:54:06 · 7604 阅读 · 0 评论 -
静态成员
1.关键字static包含:静态变量:static int a;静态函数:static int fun(){} 2.静态变量1)不能通过初始化列表来初始化静态变量#include <iostream>#include <string>using namespace std;class Cperson{public: Cpers...原创 2018-08-01 23:14:00 · 305 阅读 · 0 评论 -
构造函数与初始化列表
0.初始化与赋值的区别意义上:1)初始化:一个变量或者一个对象在产生的时候就赋予一个值,属于伴随性质2)赋值:在一个变量或者一个对象在产生之后的任意时刻赋予一个值,属于任意性质宏观代码上:1)两者作用相同2)对于数组和结构体来说,初始化和赋值的的形式不同。对于数组,可以使用花括号一起初始化,如果赋值的话,就只能单个元素就行;对于结构体,可以使用花括号初始化,否则只能通过“....原创 2018-08-01 18:17:33 · 18720 阅读 · 12 评论