- 博客(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关注的人