
C++
文章平均质量分 72
C++学习笔记以及项目
wrdoct
github主页:https://github.com/wrdoct
gitee主页:https://gitee.com/wrdoct
展开
-
C++面试知识点
C++面试知识点原创 2022-08-04 10:00:00 · 701 阅读 · 0 评论 -
牛客网——华为题库(100~108)
牛客网——华为题库(100~108)原创 2022-07-28 21:44:36 · 603 阅读 · 0 评论 -
牛客网——华为题库(91~100)
牛客网——华为题库(91~100)原创 2022-07-21 20:30:17 · 1196 阅读 · 0 评论 -
多继承、菱形继承、虚继承、多态
多继承、菱形继承、虚继承、多态原创 2022-07-13 22:00:00 · 574 阅读 · 0 评论 -
牛客网——华为题库(81~90)
牛客网——华为题库(81~90)原创 2022-07-15 22:00:00 · 951 阅读 · 0 评论 -
牛客网——华为题库(71~80)
牛客网——华为题库(71~80)原创 2022-07-10 22:00:00 · 514 阅读 · 0 评论 -
常量指针和指针常量、内存对齐、数组的sizeof、拷贝函数调用时机
常量指针和指针常量、内存对齐、数组的sizeof、拷贝函数调用时机原创 2022-07-07 22:00:00 · 309 阅读 · 0 评论 -
C++11新特性
C++11新特性原创 2022-07-06 22:00:00 · 491 阅读 · 0 评论 -
牛客网——华为题库(61~70)
牛客网——华为题库(61~70)原创 2022-07-05 22:00:00 · 750 阅读 · 0 评论 -
哈希表、哈希函数、布隆过滤器、一致性哈希
哈希表、哈希函数、布隆过滤器、一致性哈希原创 2022-07-03 22:00:00 · 398 阅读 · 0 评论 -
new和malloc的区别
new和malloc的区别原创 2022-07-01 22:00:00 · 1312 阅读 · 0 评论 -
牛客网——华为题库(51~60)
牛客网——华为题库(51~60)原创 2022-06-30 22:00:00 · 453 阅读 · 0 评论 -
牛客网——华为题库(41~50)
牛客网——华为题库(41~50)原创 2022-06-25 22:00:00 · 804 阅读 · 0 评论 -
牛客网——华为题库(31~40)
牛客网——华为题库(31~40)原创 2022-06-20 22:00:00 · 584 阅读 · 0 评论 -
牛客网——华为题库(21~30)
牛客网——华为题库(21~30)原创 2022-06-15 22:00:00 · 701 阅读 · 0 评论 -
牛客网——华为题库(11~20)
牛客网——华为题库(11~20)原创 2022-06-10 22:00:00 · 954 阅读 · 0 评论 -
牛客网——华为题库(1~10)
牛客网——华为题库(1~10)原创 2022-06-05 22:00:00 · 976 阅读 · 0 评论 -
Linux系统下使用VScode新建项目及配置流程(结合上篇博客做一些补充)
新建文件夹,命名为MUltiTargetTracking。右键:在终端打开,输入code MUltiTargetTracking,回车。在MUltiTargetTracking文件夹下新建文件,命名为main.cpp。输入测试程序之后,点击左边的第四个按钮运行和调试,在.vscode文件夹下生成launch.json文件(C++选择g++)和tasks.json文件,这两个文件分别负责调试和编译。之后按ctrl + shift + P,显示如下界面:选择编辑配置(JSON),可以看到在.vs原创 2021-12-17 18:11:15 · 4456 阅读 · 0 评论 -
LeetCode学习计划——剑指Offer
Day1 栈与队列(简单)1、用两个栈实现队列给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。原创 2022-05-01 21:00:00 · 2000 阅读 · 0 评论 -
C++——WebServer服务器项目
项目场景:C++——WebServer服务器编程项目搭建(1)配置虚拟机,下载XShell、Xftp以及windows版本的VScode;(2)安装SSH:sudo apt install openssh-server(3)在XShell中配置会话以连接到虚拟机,VScode中配置远程SSH;(4)安装数据库:sudo apt install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclien原创 2022-04-18 12:19:36 · 33029 阅读 · 7 评论 -
C++的排序
C++十大排序1.快速排序2.插入排序3.选择排序4.冒泡排序5.归并排序6.堆排序7.计数排序8.桶排序9.基数排序10.希尔排序11.补充稳定排序(排序前后两个相等的数的相对位置不变):归并排序、冒泡排序、插入排序、基数排序;非稳定排序:希尔排序、堆排序、选择排序、快速排序。1.快速排序快速排序采用分而治之的思想,选取基准值,第一次排序之后将小于等于基准值的值都放在该值前面,将大于等于基准值的值都放在该值后面,接下来对前面的和后面的再次进行快速排序,分而治之直到无法再“分”为止。#incl原创 2022-04-14 22:00:00 · 8440 阅读 · 1 评论 -
Ubuntu20.04LTS使用vim实现轻量级自动测试框架
项目场景:学习github上的googletest,参考其测试代码,实现自己的轻量级自动测试框架。使用宏进行功能拓展,实现日志打印功能,通过不同颜色的提示来告知用户功能测试所用时长以及相关错误所在位置(所在文件、行数等)。谷歌测试框架首先在github上搜索googletest进行下载并解压。新建一个文件夹并进入,编译生成所需要的库文件,在终端输入:mkdir buildcd buildcmake ../make编译结束后进入lib可看到四个库cd lib将该lib和goo原创 2022-03-30 21:35:25 · 666 阅读 · 0 评论 -
TCP/IP协议族通信的socket介绍及编程
一、概念介绍TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。而socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。socket的大致流程如下:服务器端先初始化socket,然后与端口绑定(bind),对端口进行监听原创 2022-03-24 22:00:00 · 6807 阅读 · 0 评论 -
C++——算法设计方法
原创 2022-03-21 12:30:00 · 729 阅读 · 0 评论 -
C++——数据结构
前言线性表(有序表)分为数组描述的线性表和链式描述的线性表。数组和矩阵。栈和队列。跳表和散列。二叉树和其他树。优先级队列。竞赛树和搜索树。平衡搜索树。图。一、线性表——数组描述(1)数组类型(通过模板类解决)和数组长度(动态数组解决)。(2)动态数组,可以使用一个变量(非const值)从键盘上获取数组的长度:int n;printf("请输入数组的长度:"); scanf("%d",&n);int sz[n];//动态数组(3)没有实现代码的成员函数称为纯虚函数;原创 2022-03-11 22:19:30 · 6234 阅读 · 0 评论 -
C++零碎笔记(3)
(1)函数模板和模板函数。template <class T>T fun(T t){//函数实现}函数模板是一个“框架”;模板函数是把函数模板中的类型参数实例化后生成的函数。(2)#define宏定义可以在预编译时期对代码进行替换,但它无法对类型进行检查。(3)重载函数模板。(4)定制类模板相当于实例化一个模板类。(5)类模板中的每个实例都有自己的静态数据成员。(6)结构体的默认访问权限是public,类的默认访问权限为private;结构体无法使用类模板。(7)数据类原创 2022-03-06 13:00:00 · 261 阅读 · 0 评论 -
C++零碎笔记(2)
(1)数组大小不能动态定义://int a[i];//不合法 //定义数组大小的常量表达式不能是变量int a[] = {1,2,3};int a[3] = {1,2,3};int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};int a[3][4] = {1,2,3,4};//相当于给第一行赋值,其余数组元素全为0数组赋值方式:单个元素逐一赋值、聚合方式赋值。原创 2022-03-04 22:00:00 · 804 阅读 · 0 评论 -
C++——程序性能分析
C++——程序性能分析一、程序性能1.空间复杂度2.时间复杂度二、渐进记法总结原创 2022-03-01 21:58:56 · 1159 阅读 · 0 评论 -
C++零碎笔记(1)
(1)32位操作系统中:数据类型所占字节bool1char1short2int4long int4float4double8long double10void *464位操作系统中:数据类型所占字节bool1char1short2int4long int8float4double8long double10void *8除原创 2022-02-28 17:34:23 · 498 阅读 · 0 评论 -
C++——回顾
原创 2022-02-25 22:00:00 · 551 阅读 · 0 评论 -
JSON文件信息提取及时间戳转换
JSON文件信息提取及时间戳转换原创 2022-02-24 12:30:00 · 1828 阅读 · 2 评论 -
C++整理笔记06(代码源件可私信)
(5)运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。用到的代码是operator①加号运算符重载实现两个自定义数据类型相加的运算。【注】对于内置的数据类型,编译器知道如何进行运算。【注】重载加号有两种办法:一种是通过成员函数重载加号;另一种是通过全局函数重载加号。需要使用到:operator+【注】成员函数重载本质为:但是可以简化为:【注】全局函数重载本质为:但是可以简化为:【注】运算符重载,也可以发生函数重载。【总结】对于内置的数据类型原创 2021-01-08 15:12:46 · 217 阅读 · 0 评论 -
C++整理笔记05(代码源件可私信)
4.类和对象C++面向对象的三大特性为:封装、继承、多态。C++认为万事万物都皆为对象,对象上有其属性和行为。【注】具有相同性质的对象,我们可以抽象称为类。人属于人类,车属于车类。(1)封装①封装的意义封装是C++面向对象三大特性之一。封装的意义:a.将属性和行为作为一个整体,表现生活中的事物;b.将属性和行为加以权限控制。【注】空类的大小是1,即占1个字节。封装意义一:在设计类的时候,属性和行为写在一起,表现事物。语法:class 类名{ 访问权限:属性 / 行为 };【注原创 2021-01-06 18:13:36 · 156 阅读 · 0 评论 -
C++整理笔记04(代码源件可私信)
C++核心编程本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。1.内存分区模型C++程序在执行时,将内存大方向划分为4个区域:(1)代码区:存放函数体的二进制代码,由操作系统进行管理的(2)全局区:存放全局变量和静态变量以及常量(3)栈区:由编译器自动分配释放,存放函数的参数值,局部变量等(4)堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收【注】内存四区意义:不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。(1)程序运行前在程序原创 2021-01-05 20:52:03 · 215 阅读 · 0 评论 -
C++整理笔记03(代码源件可私信)
11.指针@[TOC](1)指针的基本概念指针的作用:可以通过指针间接访问内存。【注】内存编号是从0开始记录的,一般用十六进制数字表示。【注】可以利用指针变量保存地址。(指针就是一个地址)(2)指针变量的定义和使用语法:数据类型 * 指针变量名;(3)指针所占内存空间指针在32位操作系统下:占用4个字节空间。(不管是什么数据类型)指针在64位操作系统下:占用8个字节空间。(不管是什么数据类型)【注】 上图中x64是64位操作系统;x86是32位操作系统(4)空指针和野指针①空指针原创 2020-12-05 20:48:08 · 180 阅读 · 0 评论 -
C++整理笔记02(代码源件可私信)
9.数组@[TOC]数组就是一个集合,里面存放了相同类型的数据元素每个数据元素都是相同的数据类型;由连续的内存位置组成的。(1)一维数组①定义的三种方式:数据类型 数组名{数组长度};数据类型 数组名[数组长度] = {值1,值2…….};数据类型 数组名[ ] = {值1,值2…….};【注】数组元素的下标是从0开始索引的。【注】数组名的命名规范与变量名命名规范一致,不要和变量重名。【注】对于第二种定义方式来说,如果在初始化数据时没有全部填写,会用0来填补剩余的数据:【注】定义数原创 2020-12-05 20:41:25 · 205 阅读 · 0 评论 -
C++整理笔记01(代码源件可私信)
1.C++中的空头程序@[TOC]2.使用C++书写hello world @[TOC]3.学习变量:@[TOC]变量是为了方便我们管理内存空间,变量创建的语法为:数据类型 变量名 = 变量初始值;4.学习常量:@[TOC]常量是用于记录程序中不可更改的数据。有两种定义方式:(1)#define宏常量:#define 常量名 常量值(2)const修饰的变量:const 数据类型 常量名 = 常量值 (const修饰的变量也是常量)5.标识符命名规则:@[TOC](1)不能是关键字(原创 2020-12-05 20:31:43 · 477 阅读 · 0 评论