C/C++
文章平均质量分 76
caishenfans
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++中的内存对齐
一、什么是内存对齐、为什么需要内存对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。字,双字,和四字在自然边界上不需要在内存中对齐。(对字,双字,和四字来说,自然边界分别是偶数地址,转载 2015-03-25 13:20:29 · 695 阅读 · 0 评论 -
bitset简介
本文转自:http://blog.youkuaiyun.com/bill_ming/article/details/7180445 bitset的定义和初始化表3-6列出了bitset的构造函数。类似于vector,bitset类是一种类模板;而与vector不一样的是bitset类型对象的区别仅在其长度而不在其类型。在定义bitset时,要明确bitset含有多少位,须在尖括转载 2015-03-08 20:33:57 · 634 阅读 · 0 评论 -
浅析基于glibc的malloc
最近看了几个malloc和free的问题,总结一下。malloc和free由谁提供?一般来讲,它们是C Standard Library提供的而不是由操作系统的内核实现。例如微软的是msvcrt,Linux下是glibc。当然也有第三方库函数,比如jemalloc、tcmalloc。所以每个malloc和free的实现都有所不同,而且这些实现和内核之间是保留有一定自由度的。比如每次mall原创 2015-03-31 16:58:55 · 3902 阅读 · 1 评论 -
Redis的五种对象类型及其底层实现
Redis对象类型简介Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码:redis>SET message "hello redis"其中的key是message,是一个包含了字符串"message"的对象。而value是一个包含了"hello redis"的对象。Redis共有五种对象的类型,分别是:原创 2015-04-01 16:19:51 · 45773 阅读 · 14 评论 -
Redis中的内存释放与过期键删除
简介在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略。主要有两种方法,一种是当Redis内存不足时所采用的内存释放策略。另一种是对过期键进行删除的策略,也可以在某种程度上释放内存。相关数据结构Redis中的数据库结构如下:/* * 数据库结构 */typedef struct redisDb { // key space,包括键原创 2015-04-06 17:31:52 · 43534 阅读 · 4 评论 -
Redis中的RDB持久化和AOF持久化(一)
概述Redis是一种内存数据库,运行时数据和状态都保存在内存中,为了避免服务器进程结束而导致的数据丢失,需要将数据保存到磁盘上。Redis提供了两种策略,分别是RDB持久化和AOF持久化。本文先介绍RDB持久化。RDB持久化手动创建RDB文件的两个命令是SAVE和BGSAVE,他们的区别是SAVE在主进程中进行文件写入,保存时会阻塞主进程,使其不能执行任何其他操作。BGSAVE是for原创 2015-04-07 19:52:54 · 1288 阅读 · 0 评论 -
浅谈new/delete与malloc/free的区别与联系
本文转自:这里一、基本概念 malloc/free:1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是转载 2015-04-07 15:09:03 · 856 阅读 · 0 评论 -
extern "C"的用法解析
本文转自:这里1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函转载 2015-04-08 19:04:00 · 689 阅读 · 0 评论 -
C中运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名原创 2015-04-20 12:50:22 · 766 阅读 · 0 评论
分享