自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用union减小链表维护的内存开销

union是一种特殊的结构,每次只有一个活跃的成员。其占用的内存大小为最大的成员大小,并且这些成员共享同一片内存空间。union实现了多个成员选其一的功能(n个成员只保存一个)。union的使用1、联合体能拥有成员函数(包含构造函数和析构函数),但不能有虚函数。若联合体含带非平凡特殊成员函数(复制/移动构造函数、复制/移动赋值或析构函数)的数据成员,则联合体中该函数默认为被删除,且需要程序...

2019-01-21 15:57:07 440

原创 位运算符的妙用

平时学习和工作中遇到问题,很难第一时间就想到用位运算符来解决。但是有时使用位运算符会使代码和逻辑异常得简洁。下面会对平时遇到的一些位运算做个汇总记录。龟速更新~// 将bytes上调至ALIGN(ALIGN为2的指数倍)的倍数#define ALIGN 8static int ROUND_UP(int bytes){ return ((bytes + ALIGN - 1) &a...

2019-01-17 10:01:35 405

原创 强类型与弱类型、静态类型与动态类型概念

网上关于类型的概念貌似十分得模糊,众说纷纭。也有大神说类型是没有定义的,静态和动态类型的概念本身就是不存在。下面只是整理一些网上主流的概念和些许自己的理解。首先介绍一些概念1、Program Errorstrapped errors。 可以被程序捕获的错误,程序捕获会终止运行。如除0操作,Java中数组越界等。untrapped errors。出错后,程序无法知晓,会继续运行,直到...

2019-01-16 16:49:49 255

原创 C++中::作用域运算符用法详解

使用::作用域运算符,可以让你的代码减少出错的概率。今天在读空间配置器接口时,看到了如下代码。template <class T>inline T* _allocate(ptrdiff_t size, T*){ set_new_handler(0); T* tmp = (T*)(::opterator new(size_t)(size * sizeof(T)))...

2019-01-14 17:25:40 5674

原创 C/C++中vloatile关键字用法

vloatile关键字的作用,是告诉编译器不对变量使用优化。即编译后的程序在读写这个变量的时候,都会从变量的地址直接进行值的读写。int i = 0;int a,b;a = i;/** 中间代码段*/b = i;编译器在进行编译时,有时会对变量进行优化,直接从寄存器中读值,从而加快读取速度。如上述代码,编译器如果在中间代码段没有检测到对i值的修改操作,便会将上次读取的i...

2019-01-14 10:56:09 487

原创 C/C++中static关键字用法详解

static修饰函数和全局变量static关键字修饰的函数和全局变量只会在本文件可见,对外不可见。即其他文件无法访问本文件定义的函数,用extern无法获取到变量和函数的定义。通过用static修饰函数,我们可以在不同的文件定义多个同名的函数。static修饰局部变量static修饰的局部变量的内存不会开辟在栈上,而是开辟在静态变量区。即和全局变量一个区域,只有程序结束时,内存才会释放...

2019-01-11 19:46:52 447

原创 C/C++中extern关键字用法详解

extern用于在多个文件中间中,定义一个全局变量或者函数。可以在其他文件中使用extern来得到一个已定义的变量或函数的引用。extern用于函数声明extern用于函数声明时,和普通的函数声明并没有区别。即extern int foo();和int foo();是一样的效果的。使用extern更多的是表示该函数在其他文件中定义。外部定义的函数一般都在 .h 文件中使用extern关...

2019-01-11 17:05:26 450

原创 STL六大组件

一、STL六大组件STL提供六大组件,它们之间可以相互组合使用。1、容器(containers)容器用来存放数据,包括各种数据结构,如vector,list,deque,set,map等。从实现的角度来看,STL容器是一种class template。2、算法(algorithms)算法包括各种常用的sort,search,copy,erase, find等等。才实现的角度来看...

2019-01-10 15:12:27 2468

空空如也

空空如也

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

TA关注的人

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