自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2021-05-20

C++模板总结1.模板2.模板分类2.1函数模板2.2类模板3.模板的编译4.模板的特化5.分离编译1.模板模板是泛型编程的基础,泛型编程即编写一个与类型无关的通用代码,是代码复用的一种手段。stl中迭代器和算法就用到了泛型编程的思想,也可以说都使用了模板的概念。例如:template<typename T>T test(T a, T b){ return a + b;}int main(){ test(1, 2);//传入int类型参数,编译器生成处理int的函数te

2021-05-20 21:08:29 117

原创 C++四种类型转换总结

C++四种类型转换总结1.static_cast(隐式类型转换)2.const_cast3.dynamic_cast4.reinterpret_cast1.static_cast(隐式类型转换)static_cast是一种强制类型转换操作符,编译器对任何类型的隐式转换都可以用static_cast来完成。当编译器执行隐式类型转换时一般会给出警告(可能会损失精度):这时候使用static_cast相当于明确告诉编译器这种损失精度的转换是程序员知情的,而不是因为疏忽,所以不会给出警告。把精度大的类型

2021-05-19 19:18:53 218

原创 C++面试常见关键字总结

C++面试常见关键字总结1.static1.1对局部变量修饰1.2对全局变量修饰1.3对类内成员变量修饰1.4对类内成员函数修饰2.extern2.1extern “C”2.2 extern + 变量/函数3.const3.1 const修饰变量3.2 const在函数中使用3.3 const在类中使用3.4 将const强制转为非const1.staticstatic是一种关键字,通常用来修饰局部变量、全局变量/函数、类内成员变量/函数这几种,使其变成静态。1.1对局部变量修饰使其生命周期不再是当

2021-05-17 20:25:10 412

原创 Mysql总结

Mysql总结1.数据库的操作1.1 显示当前数据库1.2 创建数据库1.3 使用数据库1.4 删除数据库2. 常用数据类型2.1 数值类型2.2 字符串类型2.3 日期类型3. 表的操作1.数据库的操作1.1 显示当前数据库SHOW DATABASES;示例:1.2 创建数据库CREATE DATABASE test1;示例://如果系统没有 test2 的数据库,//则创建一个名叫 test2 的数据库,如果有则不创建CREATE DATABASE IF NOT EXISTS

2021-05-16 20:51:35 178 3

原创 C++智能指针总结

C++智能指针总结1.为什么需要智能指针2.内存泄漏3.智能指针的使用与原理3.1RAII3.2 std::auto_ptr3.2 std::unique_ptr3.3 std::shared_ptr4.C++11和boost中智能指针的关系5.RAII扩展1.为什么需要智能指针我们在动态申请内存的时候,往往需要自己来管理和释放申请的内存,有的时候会因为疏忽或者未知原因而没有手动释放申请的资源,就会导致内存泄漏等问题。例如:int test(int a,int b){ int * p = (in

2021-05-12 17:02:47 149

原创 C++异常总结

C++异常总结1.C语言传统的处理错误方式2.C++异常概念2.2在函数调用链中异常栈展开匹配原则2.3异常安全2.4异常的优缺点2.4.1异常的优点2.4.2异常的缺点1.C语言传统的处理错误方式1、终止程序,如assert,使用assert需要包含头文件assert.h#include <assert.h>int test(int a){ assert(a);}缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序2、返回错误码int main(){ int

2021-05-10 21:29:02 489 5

原创 C++动态内存管理总结

C++动态内存管理总结1.内存分区、其作用及原因2.C动态内存管理方式3.C++动态内存管理方式4.定位new表达式5.内存泄露相关6.常见的内存池思想7.面试题:new和malloc的区别1.内存分区、其作用及原因2.C动态内存管理方式C的动态内存管理主要依赖于四个函数:malloc、calloc、realloc、free使用这些函数需要包含头文件:#include <malloc.h>1、malloc函数在头文件的原型:void * __cdecl malloc(_In_

2021-05-08 21:24:46 230

原创 类和对象总结

类和对象总结1.面向对象和面向过程的区别2.类的定义方式3.封装4.类的实例化5.this指针6.类中八个默认成员函数6.1 构造函数6.2 析构函数6.3 拷贝构造函数6.4 赋值运算符重载函数6.5 取地址运算符重载函数6.6 const取地址运算符重载函数7.const类型成员8.static类型成员9.友元1.面向对象和面向过程的区别面向过程:代表性语言:C语言面向对象:代表性语言:C++、java面向过程可以理解为用函数将解决问题的一个个步骤都实现,在解决问题时一个个调用即可,这一个个步骤

2021-05-06 21:49:41 186 1

原创 内联函数

内联函数总结1.概念和特性2.和宏函数的区别1.概念和特性被inline关键字修饰的函数称为内联函数,引入内联函数的目的是为了解决程序中函数调用的效率问题。如果一个函数被定义为内联函数,那么编译器会在函数被调用的位置将其展开,以定义的函数体进行替换,这样就不用再进行调用过程,达到一种空间换时间的效果。例如:inline int max(int a, int b){ return a > b ? a : b;}int main(){ cout << max(10, 5

2021-05-06 20:25:05 320

原创 引用总结

引用总结1.概念加例子2.性质3.const类型引用4.引用的应用场景5.传值、传引用、传地址的区别6.指针和引用的区别1.概念加例子引用就是某一变量的一个别名,对引用的操作与对变量直接操作完全一样。就像给别人取绰号一样,叫云龙兄还是老李,都是同一个人。2.性质引用的声明方法:类型 &引用名 = 目标变量名;例如: int a = 1; int & p = a; cout << a << endl; cout << p <<

2021-05-04 19:19:06 134

原创 树形结构总结

树形结构总结1.树相关1.1树及相关概念1.2树的表示方法1.3树的应用场景2.二叉树2.1二叉树的性质2.2满二叉树2.3完全二叉树2.4堆2.5二叉树的基本操作2.5.1实现2.5.2遍历2.5.2.1层序遍历2.5.2.2前序遍历2.5.2.3中序遍历2.5.2.4后序遍历1.树相关1.1树及相关概念树是由n个节点组成的有限集合,若n=0,则为空树,每个非空树都有一个根节点。每个节点可以有多个子节点,没有子节点的节点称为叶子节点。深度:根节点到任一节点的路径长,根节点的深度为1.高度:任一

2021-05-03 16:20:08 500

原创 栈和队列总结

栈和队列总结1.栈1.1概念和特性1.2模拟实现(类+模板)1.3栈的应用场景1.4栈数据结构与程序栈帧或参数压栈的栈有何区别2.队列2.1概念和特性2.2模拟实现(类+模板)2.3队列的应用场景3.栈和队列的OJ题3.1用栈实现队列3.2用队列实现栈3.3最小栈1.栈1.1概念和特性栈是一种特殊的线性储存结构,栈只能从一端(栈顶)压入或弹出数据,而且无论是压入还是弹出数据,都遵循先进后出的原则,例如:A B D C要想从栈中弹出元素D,就只能先出C再出D,没办法直接访问和弹出元素。1.

2021-05-02 17:26:23 567 1

原创 线形数据结构总结

线形数据结构总结1.顺序表2.链表2.1链表与顺序表的优缺点2.2链表oj题2.2.1链表逆置2.2.2找链表中间节点(只能遍历一次)2.2.3找(删除)链表倒数第K节点(要求O(n)O(n)O(n))2.2.4合并两个链表,合并后依然有序2.2.5链表相交问题------不带环2.2.6链表相交问题------带环2.2.7链表带环问题------是否带环、环入口、环长度2.2.8用快排思想对单链表进行排序2.2.9其他链表相关问题1.顺序表顺序表是一段物理地址连续的线性结构,顺序表也分静态顺序表和动

2021-05-01 15:38:32 247

原创 各种排序算法总结

各种排序算法总结1.插入排序2.选择排序排序算法涉及的概念:稳定性:如果排序前两个相同元素的位置在排序后仍保持相对不变,则该排序是稳定的;如果可能改变则是不稳定的,例如:快速排序1.插入排序插入排序是通过构建有序序列,再依次扫描有序序列后的元素,从后往前比较有序序列,将其插入到有序序列合适的位置,直到所有元素都有序。例如:7 4 2 8 5一般选择第一个元素作为有序序列,因为序列中只有一个元素,所以一定有序,这里选择 7 作为有序序列。将后面的4与之比较,4<7,4插入7之

2021-04-19 17:22:35 249

原创 初见

#1.我是陨城狂客,一名即将成为程序员的学生,现在正在努力学习c语言之中。#2.现今编程的目标是为了更好的就业。#3.我打算通过听课、自学、练习、和讨论来学习编程。#4我打算每周每天都至少花一小时来编程。#5我最想进入华为。...

2019-09-21 00:40:40 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除