自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Golang的命名规范

除了保留关键字之外,Golang语言系统还提供了36个预定义标识符,包括基础数据类型和系统内嵌函数(不需要引入包,可以直接使用的函数)。预定义标识符预定义标识符预定义标识符预定义标识符预定义标识符预定义标识符appendboolbytecapclosecomplexcomplex64complex128uint16copyfalsefloat32float64imagintint8int16uint32int32int64itoalenmake。

2023-05-12 11:10:06 2830 1

原创 Golang标识符

标识符(identifier),通俗来讲,就是给变量,常量,函数,方法,结构体,数组,切片,接口起名字。标识符的正式定义为:对各种变量、函数等命名时使用的字符序列。

2023-05-12 00:12:13 261

原创 Golang的值类型和引用类型

从某种程度上说,Golang的数据类型可以分为和这两类。

2023-05-11 23:59:46 602

原创 C++学习16_类和对象(对象的组织、单例模式)

文章目录对象的组织const对象指向对象的指针对象数组堆对象单例模式设计需求应用场景举例代码对象的组织有了自定义类,或别人定义好的类之后,就可以使用其来创建对象。其机制与使用int等创建普通变量几乎完全一致。同样可以通过类创建const对象、指向对象的指针、对象数组,动态对象(new/delete)。const对象类对象可以声明为const对象。因为const对象只能被创建、撤销和只读访问,不允许被改写。所以, 一般来说,除了构造函数和析构函数,能作用于const对象的成员函数只有const

2022-05-07 17:44:49 539

原创 C++学习15_类和对象(特殊数据成员初始化 特殊成员函数)

文章目录特殊的数据成员——初始化常量数据成员 ( const ) 和引用数据成员( & )类对象数据成员静态数据成员 ( static )特殊成员函数静态成员函数const成员函数特殊的数据成员——初始化4类比较特殊的数据成员 常量成员、引用成员、类对象成员和静态成员,其初始化与普通数据成员有所不同。常量数据成员 ( const ) 和引用数据成员( & )const数据成员具有“只读属性”,经初始化后,在程序中无法修改其值。因此必须在初始化列表中初始化常量数据成员,不能

2022-05-07 17:44:15 301

原创 C++学习14_类和对象的使用(this指针、赋值运算符函数)

目录this指针赋值运算符函数赋值运算符函数“四步曲”问题总结this指针**实质:**指向当前对象本身**存在:**隐含在每一个非静态成员函数的第一个参数的位置 ,由编译器自动补全。**形式:**类类型 * const this,例如:Point * const this指针常量:无法改变指向,可以改变所指内容值。对于类成员函数而言,此类的所有对象共用一个成员函数体。当程序被编译之后,成员函数地址即已确定。而成员函数之所以能把属于此类的各个对象的数据区别开, 就是靠th

2022-04-28 11:08:32 284

原创 C++学习13_类和对象的定义(构造、析构、拷贝构造)

类和对象构造函数、析构函数、拷贝构造函数类和对象类和对象的联系类的定义类class与结构体struct的区别通过类创建对象构造函数——创建对象析构函数——销毁/撤销对象析构函数的调用场景拷贝构造函数浅拷贝与深拷贝拷贝构造函数的调用场景问题回顾面向对象和面向过程的区别面向过程:按照事物发展的逻辑顺序一步一步进行下去。例:C语言。面向对象:四大基本特征——抽象、封装、继承、多态。例:C++语言。类和对象的联系将具有相同属性的对象抽象出来,形成类。通过类创建对象,得到具体的实例。即类是对象的封装,对

2022-04-28 10:22:32 372

原创 C++学习12_C++内存分配方式

引言现在的应用程序都运行在一个虚拟内存空间里,以32位系统为例,其寻址空间为4G。大部分的操作系统为4G内存空间,一般分为两个部分:内核态空间(应用程序无法直接访问),Linux默认将高地址的1G空间分配给内核态空间,用户态空间(用户使用),剩下的低地址的3G内存空间为用户态空间。C/C++程序内存空间分布(用户态空间)栈区(stack):由编译器自动分配与释放,存放函数参数、局部变量、返回数据、返回地址等。其操作类似于数据结构中的栈。堆区(heap):由程序员手动分配与释放,若程

2022-04-24 14:12:46 1452

原创 C++学习10_异常安全

异常是指程序在执行期间产生的问题。

2022-04-24 14:07:58 305

原创 C++学习9_bool类型与inline函数

bool类型一个bool类型的数据占据的内存空间大小为1个字节(1 byte)。在C++中,还添加了一种基本类型——bool类型,用来表示true和false。true和false是字面值,可以通过转换变为int类型,true为1,false为0。int x = true;// 1int y = false;// 0任何数字或指针值都可以隐式转换为bool值。任何非0值都将转换为true,而0值转换为false。bool b1 = -100;bool b2 = 100;bool b3 =

2022-04-20 10:33:37 2040

原创 C++学习8_函数重载与默认参数

函数重载函数重载的意义在实际开发中,有时候需要实现几个功能类似的函数,只是细节有所不同。如交换两个变量的值,但这两种变量可以有多种类型,short, int, float等。在C语言中,必须要设计出不同名的函数,其原型类似于:void swap1(short *, short *);void swap2(int *, int *);void swap3(float *, float *); 但在C++中,这完全没有必要。C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,

2022-04-20 10:31:57 213

原创 C++学习7_强制转换

C++强制转换一、C风格的强制转换(1) C风格的强制转换的格式TYPE a = (TYPE)EXPRESSION; (2) c风格的强制转换的缺点简单粗暴,可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区分这些。c风格的转换不容易查找,它由一个括号加上一个标识符组成,而这样的东西在c++程序里一大堆。因此,为了

2022-04-20 10:30:45 182

原创 C++学习6_引用&

C++中的引用&基本概念:变量名的实质:一段连续内存空间的别名。而一段连续的内存空间不是只能取一个别名。引用的概念在C++中,引用表示一个已定义变量的别名。引用的语法类型 &引用名 = 目标变量名;void test0(){ int a = 1; //引用是变量的别名,提出引用的目的就是为了减少指针的使用 //操作ref与操作变量本身是一样的 int &ref1 = a; //引用变量在定义的时候必须要初始化,引用变量不能独

2022-04-20 10:30:05 108

原创 C++学习5_newdelete表达式与mallocfree库函数

new/delete表达式与malloc/free库函数1. malloc/free与new/delete之间的异同点?相同点:都是用来申请堆空间;malloc和free以及new与delete要成对出现,否则会造成内存泄漏。不同点:malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符或表达式 ;new能够自动分配空间大小,malloc需要传入参数;malloc申请的是原始的未初始化的堆空间,new申请的是已经初始化的堆空间;即new开辟空间的同时还对

2022-04-20 10:29:24 480

原创 C++学习4_const关键字

const关键字1. 普通变量与const关键字const修饰的变量称为const常量,定义的时候必须要初始化,且作为常量,不能修改。//const关键字修饰的变量称为常量const int number1 = 10;int const number2 = 20; //error 常量必须要进行初始化const int val;除了这种方式可以创建常量外,还可以使用宏定义的方式创建常量:const常量与宏定义的区别?编译器处理方式不同。宏定义是在预处理阶段展开,做字符串的替换;

2022-04-20 10:28:32 511

原创 C++学习3_命名空间 namespace

命名空间 namespace1. 命名空间的概念**命名空间:**可以由用户自己定义的作用域。在大型工程中,是由不同的工程师完成不同的部分,然后组合成一个完整的程序。对不同的部分,各个工程师用户可以通过命名空间来自己定义头文件,设计类或函数,避免出现名字冲突。命名空间又称为名字空间,是程序员命名的内存区域,程序员根据需要指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只

2022-04-20 10:27:23 313

原创 C++学习2_C++函数的声明和定义

C++中函数的声明和定义在程序中使用函数时,你必须先声明它然后再定义。**函数的声明:**告诉编译器你即将要定义的函数的名字是什么,返回值的类型是什么以及函数是什么。假如不声明,那么该函数就不能被其他函数调用。**函数的定义:**告诉编译器这个函数的功能是什么。C++中函数的声明可以有多次,但是函数的定义只能有一次。通常把函数声明叫做函数原型,把函数定义叫做函数实现。1. 函数的声明函数声明(函数原型)的语句结构:返回值类型 函数名(参数表);函数的声明和变量的声明一样,是一句语

2022-04-20 10:26:52 7568

原创 C++学习1_基础知识

C++学习基础知识Xshell中编写c++源文件:vim filename.cc/cpp。C++的头文件都是用模板进行编写的,模板的特点:必须知道所有的实现之后才能进行正常的编译。C++的头文件所在的位置:/usr/include/c++/。cout --> 输出流对象;<< -->输出流运算符。cin --> 输入流对象;>> -->输入流运算符。operator<< 整体看成是一个函数名(运算符重载);

2022-04-20 10:20:43 137

原创 内存泄漏 & 内存溢出 & 踩内存 & malloc底层实现原理

本文主要对内存泄漏、内存溢出、内存踩踏【踩内存】以及malloc的底层实现原理进行了总结。话不多说,直接往下看:参考文章:内存泄漏与内存溢出:https://blog.csdn.net/ruiruihahaha/article/details/70270574踩内存:https://blog.csdn.net/u014485485/article/details/104714934malloc的底层实现原理:https://blog.csdn.net/ypshowm/article

2021-08-21 21:28:33 11186

原创 新手入门 | Pr剪辑教程

新手入门 | Pr剪辑教程Pr页面画板简单分类:视频剪辑基础操作:新建序列(篮子 -> 存放素材和操作)左下角面板 -> 双击【项目】菜单下的空白处 -> 导入素材(视频、音频、图片png、jpg、gif)视频分为:画面轨道V、音频轨道A;(V1/V2/V3表示可同时存放多个画面、A同)(注意:上方素材会盖住下方素材)拖动下面的轴:放缩画轨音轨的大小鼠标左键点击画面轨道上的素材,即可看到该素材的参数列表。或直接在显示中双击素材,也可以调整大小等。加入字幕:新建字幕

2021-08-19 19:34:33 9157

原创 MySQL的包损坏问题的解决

MySQL的包损坏问题的解决【关键字:下列软件包有未满足的依赖关系】参考网站:(建议一起打开,查看并使用)https://www.jianshu.com/p/7916c6787b4fhttps://www.cnblogs.com/shanwu369/p/10697259.html问题:无法通过xshell命令行进入MySQL,且MySQL无法卸载也无法安装。sudo apt-get remove mysql-common #执行失败使用命令:dpkg --list |grep mysql,

2021-07-16 09:29:32 1092

转载 calloc()和malloc()的区别 | realloc() & free()

1. malloc语法 #include <stdlib.h> void *malloc( size_t size );功能:函数指向一个大小为size的空间,如果错误发生返回NULL。 存储空间的指针必须为堆,不能是栈。这样以便以后用free函数释放空间。例如:typedef struct data_type { int age; char name[20];} data; data *bob;bob = (data*) malloc( sizeof(dat

2021-06-09 16:18:24 101

原创 codeup刷题 2.8小节——C/C++快速入门->结构体(struct)的使用 ——《算法笔记》(胡凡)

C语言11.1题目描述完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式:struct person {char name[20];int count; }leader[3] = {“Li”, 0, “Zhang”, 0, “Fun”, 0};输入第一行有一个整数n,表示以下有n张选票信息将会输入。保证n不大于100。以后的n行

2021-04-01 21:54:57 262

原创 codeup刷题 2.7小节——C/C++快速入门->指针 ——《算法笔记》(胡凡)

C语言10.1题目描述输入a和b两个整数,按先大后小的顺序输出a和b。注意请使用指针变量的方式进行比较和输出。输入两个用空格隔开的整数a和b。输出按先大后小的顺序输出a和b,用空格隔开。请注意行尾输出换行。样例输入5 9样例输出9 5程序#include<stdio.h>int main(){ int a, b; int *p1 = &a, *p2 = &b; scanf("%d%d", &a, &b); if(*p1>

2020-11-15 15:29:17 257

原创 codeup刷题 2.6小节——C/C++快速入门->函数 ——《算法笔记》(胡凡)

注:本小节多使用gets()输入事先不知道长度大小的字符串。————————————分割线————————————习题7-5 字符串逆序存放题目描述写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。输入一行字符串。输出输入字符串反序存放后的字符串。单独占一行。样例输入abcd样例输出dcba程序#include<stdio.h>#include<string.h>void reve

2020-11-10 16:10:37 217

原创 codeup刷题2.5小节 C/C++快速入门->数组——《算法笔记》(胡凡)

习题6-4 有序插入题目描述有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。输入第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。第二行输入一个整数输出从小到大输出这10个数,每个数一行。样例输入1 11 21 31 41 51 6

2020-11-09 00:34:25 343

原创 codeup刷题2.1~2.4小节 ——《算法笔记》(胡凡)

《算法笔记》(胡凡)codeup刷题例题1-1-1 按要求输出信息(1)题目描述:编写一个C程序,要求在屏幕上输出一下一行信息。This is my first c program!输入:无输出:This is my first c program!样例输入:无样例输出:This is my first c program!程序:#include<stdio.h>int main(){ printf("This is my first c

2020-10-27 15:22:50 944

原创 C++笔记— 排序函数sort() 和vector容器

来源:菜鸟教程(侵删)一、排序函数sort()的排序(涉及到vector容器)#include <string.h>#include <vector>#include <iostream>#include <algorithm>using namespace std; int main(){ vector<int>obj; obj.push_back(1); obj.push_back(3);

2020-10-02 21:56:55 2605

空空如也

空空如也

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

TA关注的人

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