自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go 常量初始化中的iota

iota作用go语言中iota关键字用于方便常量的初始化,其规则如下:1. 在每个常量语句块中iota的值代表当语句块中行的索引的值(从0开始)2. go语言常量语句块中 如果当前常量没有赋值表达式,则继承与该常量在同一常量语句块中上一个常量的表达式const ( LEVEL_1 = 1 LEVEL_2, LEVEL_3 = iota, iota LEVEL_4 = 10 LEVEL_5 = iota LEVEL_6).

2020-11-25 22:23:47 291

原创 go 切片详解

实现原理 go中的切片是顺序性的变长容器。底层的用数组存储数据,当添加数据到达数组容量最大值后,重新分配一个更大的数组,并把原来的数据复制到新的数组中,最后再添加新的数据到末尾。其结构体表示为:type slice struct { array unsafe.Pointer len int cap int}切片的切取切取切片有2种方式s[start:end] s[start:end:max]start表示起始下标,end表示结束下标,但是不包括该...

2020-11-24 22:27:45 709

原创 Go获取参数信息

GO 获取帮本号,操作系统信息,CPU核数以及CPU架构package mainimport ( "fmt" "runtime")func main() { fmt.Println(runtime.GOOS) fmt.Println(runtime.Version()) fmt.Println(runtime.GOARCH) fmt.Println(runtime.NumCPU())}/*********************************************

2020-11-07 23:27:02 901

原创 ELF文件格式解析

ELF的全称为(Executable Linkable Format),从名字上可以看出来这是一种可以被执行,可以被链接的格式文件。linux符合这两种格式的文件有哪些,可重定位文件(.o),共享库文件(.so),静态库文件(.a)当然可以认为.a文件可以认为是 .o文件时同一类型的,还有可执行文件。听说core文件也是ELF格式!ELF格式的文件有个显著的特点就是,所有的内容已段的形...

2019-04-11 22:56:40 826

原创 C/C++编译过程

以一个简单的helloworld.c为例:#include <stdio.h>int main(void){ print("hello world\n");}要将上诉程序编译位一个可执行的elf文件,需要经历如下步骤预处理(Prepressing),编译(Compilation),汇编((Assembly),链接((Linking)。1 .预处理(Pr...

2019-04-09 23:16:20 506

转载 c++左值右值的概念

转载至:https://blog.csdn.net/hyman_yx/article/details/52044632

2018-05-10 15:01:40 572

原创 C++泛型编程

 泛型编程概念    泛型编程是指不考虑具体类型的编程方式。这个可让代码尽可能的复用,试想如果要实现一个加法函数,如果考虑具体函数,那么就需要实习不同参数类型的函数,比如int,double甚至有的加法可能是两个对象相加这样不同的对象类型会继续衍生出更多的函数实现,但是如果能有一个兼容所有类型编程的方式,那么只需要一个函数就可以实现了。函数模板 函数模板是一种特殊的函数,可用不同的类型进行调用,和...

2018-05-01 18:40:59 369

原创 c++对象模型分析

类成员的访问    类class可以算是一种特殊的struct,都看做一些变量的集合,class和struct都遵循内存对其的原则。class中有2类基本要输,成员变量和成员函数。每个对象都拥有一套成员变量,而所有对象共享一套成员函数,成员函数位于代码段。    其实在运行时,类的访问权限限制是不存在,只在编译时检查。可以直接通过地址直接访问。调用成员函数时,对象的地址被作为参数隐式的传入,通过对...

2018-05-01 17:17:04 140

原创 C++操作符重载

  操作符重载介绍   c++中可以重载操作符函数,来扩展操作符的功能。   操作符扩展的一般形式为:Type operator Sign(const Type&amp; p1,const Type&amp; p2);//Sign代表操作符如 + ,- 等等,具体参数个数视操作符而定    一般而言,将操作符重载为具体类的成员函数, 这样可以比全局函数少一左操作数,编译器将优先在类的成员函数中寻找...

2018-04-22 19:10:53 93

原创 二阶构造模式

    我们在创建对象的时候,需要调用构造函数,对对象做初始化,但是构造函数是没有返回值的,无法判断构造函数的执行结果。如果构造函数执行过程中,发生了异常,导致函数提前返回了,那么这种情况下,我们创建的对象会处于什么状态。    1. 构造函数确定对对象做初始状态,对象的创建与构造函数无关,也就是说存储对象的那片内存已经完成分配    2. 如果构造函数出现了异常,提前返回,就会导致对象的状态的不...

2018-04-15 22:54:35 374

原创 C++ 对象的构造

  构造函数的调用  对象是依据某个类模板创建的客观存在,既然是客观存在那么它在某一时刻的状态应该是确定,所以我们在创建对象的时候需要固定其状态,也就是初始化,这就是构造函数的作用,初始化对象。class Test{ Test(){} Test(int i){}}    对象的构造一般有3  种方式:Test t(2);Test t = 2;Test t = test(2...

2018-04-14 15:54:16 789

原创 面向对象的基本概念

    人们在处理事务之间的关系的时候,总是喜欢对事务进行分类处理,比如图示管里面的书籍排布,动物植物的分类,甚至日常生活中叫的出名字的如电脑,桌子,床等等都是一类事物。当我们对某些事物归类之后,便可以对这类事务做统一的处理,让事情变得更加简洁高效。如果我们能把现实生活中的各类的事物,如项目的各种需求,一一映射到我们程序中,用编程语言来表述出来。这样就会更加贴近实际,符合我们的正常的大脑思维,程序...

2018-04-14 15:02:51 222

原创 c++杂记

1. c++ 调用c库函数    由于c++要支持函数的重载,所以c++编译器在编译函数时,生成在符号表中的函数名,与函数定义时函数名和函数参数都有关系。如int add(int x,int y){ return x+y;}int add(int x,int y,int z){ return x+y+z;}     这两个函数编译后生成的函数符号是不一样的,这一点可以通过导出符...

2018-04-03 21:55:51 104

原创 c++内联函数

    在c++中推荐使用const定义的常量来替换宏定义,因为这样更安全。而对于宏定义函数则推荐使用内联(inline)函数来替换。    如果函数定义用inline修饰,就会向编译器请求对函数进行内联编译,也就是直接将函数体扩展到函数调用的地方。但是需要注意的是,默认情况下编译器不一定会接受内联请求。如果一定强制编译器内联编译函数,可以通过修改编译参数来保证。或者对于g++编译器,则可以通过_...

2018-03-25 22:13:33 99

原创 c++ 引用深入分析

    我们知道c++中变量其实是用于标识一段内存空间的,但我们将一个变量赋值给一个引用时,我们便可以通过引用来操作该变量对应的内存空间,用引用名来标识该段内存。直观来说引用就类似于别名。    引用的本质到底是什么?引用是否占用了内存?占用了多大的内存?        将上面这段程序使用g++编译后的运行结果如下:       可以看到,引用也是占内存空间的,比如char 和char&amp;一...

2018-03-25 17:24:04 152

原创 const从c到c++

    const 修饰符在c和c++都能使用,用于修饰变量表示该变量不可改变。但是在具体的细节上,c与c++的处理不同,c++比c的处理更为完善。    首先,在c语言中const修饰的变量,都会有存储空间分配。    1. const修饰全局变量,会在只读存储区分配空间。    2. const修饰局部变量,会在栈上分配空间。    既然这样那我们便可以通过的取地址运算符&amp;,获取对应的...

2018-03-25 13:17:28 110

空空如也

空空如也

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

TA关注的人

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