自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ofstream与ate的故事

很久之前,我和Swalky在写Huffman Tree压缩的时候,遇到了一个问题:我们想在一个已经写入了一些内容的文件中部(或头部)写一些内容(用于修改文件的一些meta信息),结果发现总是不行。如果用ofstream的默认构造函数,文件原有内容就不会保留下来,如果用了ios::

2011-07-10 16:22:59 611

原创 编程日志

2011/07/01iofstream用法注意:打开文件用open函数,清楚错误状态用clear函数,关闭文件用close函数。ifstream读完一个文件之后要clear并close,否则同一个ifstream对象无法继续处理其他文件,如下所示:ifstream iff;iff.open(strPath + "result.txt");string str;whi

2011-07-01 14:34:00 631

原创 c++ 对象模型 总结

将一个标准类型变量转换到类类型对象,可用该类接受单个参数的非explicit构造函数;从类类型对象转换到其他类型(类类型或标准类型)对象可用转换操作符转换。 被合成的default constructor 只满足编译器的需要,而不是程序的需要。

2011-06-29 15:22:00 468

原创 数据结构(殷人昆) 摘录总结

数据是信息的载体,是描述客观事物的数、字符,以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据结构是由某一数据元素的集合和该集合中数据元素之间的关系组成。记为:Data_Structure = {D, R}线性结构也成为线性表,分为直接存取结构、顺序存取结构和字典结构。非线性结构分为层次结构和群结构。数据结构的存储结构:1. 顺序存储方法:该方法把逻辑上

2011-06-27 21:01:00 2105 1

转载 引用和指针

<br />引用和指针<br /><br />★ 相同点:<br />1. 都是地址的概念;<br />    指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。<br /><br />★ 区别:<br />1. 指针是一个实体,而引用仅是个别名;<br />2. 引用使用时无需解引用(*),指针需要解引用;<br />3. 引用只能在定义时被初始化一次,之后不可变;指针可变;<br />    引用“从一而终” ^_^<br />4. 引用没有 const(引用类似于const型指针),指

2011-05-30 10:11:00 484

原创 c++ primer 摘录

7.8.4. 实参类型转换为了确定最佳匹配,编译器将实参类型到相应形参类型转换划分等级。转换等级以降序排列如下:1. 精确匹配。实参与形参类型相同。2. 通过类型提升实现的匹配(第 5.12.2 节)。3. 通过标准转换实现的匹配(第 5.12.3 节)。4. 通过类类型转换实现的匹配(第 14.9 节将介绍这类转换)。内置类型的提升和转换可能会使函数匹配产生意想不到的结果。但幸运的是,设计良好的系统很少会包含与下面例子类似的形参类型如此接近的函数。通过这些例子,学习并加深了解特殊的函数匹配和内置类型之间的

2011-05-27 10:16:00 629

转载 WINAPI CALLBACK _stdcall _cdecl _pascal _fastcall 简单总结

<br />WINAPI和CALLBACK这两个宏有什么区别呢?<br /><br />_stdcall _cdecl _pascal _fastcall这些关键字是什么意思,有什么区别呢?<br /><br /><br />首先看MSDN里给出的解释,不过有些语焉不详哦<br /><br />WINAPI <br />Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entr

2011-05-25 09:29:00 502

原创 Thoughts

The power of faith is what miracles are made of.想要得到更多,就必须承受更多。无论做什么事一定要有深度,一下被别人看穿了就没什么意思了。

2011-05-16 08:17:00 569

转载 C++中的未定义行为

<br />未定义行为:没有定义那样做有什么意义的行为。<br />注意:不要依赖未定义行为。<br />c++中的未定义行为有:<br />1、连接字符串字面值和宽字符串字面值。<br />2、使用在函数体内定义的未初始化的变量(非用作赋值操作符的左操作数)。<br />3、获取不存在的元素也是未定义行为。例如:数组、string、vector等通过下标操作符获取超过该对象的长度的元素。<br />所谓的“缓冲区溢出”问题就是对不存在的元素进行下标操作的结果。这样的缺陷往往导致PC机和其他应用中最常见的安

2011-05-11 10:00:00 3227

转载 PreTranslateMessage作用和使用方法

<br />PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码.  <br />       <br /><br />       MFC 消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚至可 以作一个全新的控制流出来。只有穿过消息队列的消息才受PreTranslateM

2011-05-01 10:44:00 638

转载 SendMessage 和 PostMessage 的区别

<br />1、首先是返回值意义的区别,我们先看一下 MSDN 里的声明:<br />LRESULT SendMessage(<br />        HWND hWnd,<br />        UINT Msg,<br />        WPARAM wParam,<br />        LPARAM lParam<br />);<br />BOOL PostMessage(<br />        HWND hWnd,<br />        UINT Msg,<br />       

2011-05-01 10:42:00 400

转载 (转)C++中extern “C”含义深层探索

(转)C++中extern “C”含义深层探索1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。  2.从标准头文件说起  某企业曾经给出如下的一道面试题:  面

2011-04-30 10:05:00 459

转载 转:c#垃圾回收

C#的Garbage Collector(GC,垃圾回收器)往往让很多程序员产生了对于程序中使用的内存撒手不管的态度。他们会认为既然已经有GC在后台运行了,代码中就不需要多加注意了。事实上GC可以是最好的朋友,也可以是最坏的敌人,完全取决于代码。 ★垃圾回收器的基本假定★:1.被分配内存空间的对象最有可能被释放。在方法执行时,就需要为该方法的对象分配内存空间,搜索最近分配的对象集合有助于花

2010-02-08 23:09:00 567

转载 _alloca/malloc/calloc/realloc/sbrk/new/delete

 C语言跟内存分配方式  (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。  (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。  (3)从堆上分配,亦称动态内存分配

2010-02-08 21:25:00 1117 1

转载 内部链接与外部链接

《内部连接与外部连接》作者Blog:http://blog.csdn.net/SpitFire/在说内部连接与外部连接前,先说明一些概念。1.声明    一个声明将一个名称引入一个作用域;    在c++中,在一个作用域中重复一个声明是合法的    以下都是声明:       int foo(int,int);           //函数前置声明       typede

2010-02-07 11:53:00 560

原创 c/c++ accumulation

非const引用只能绑定到与该引用同类型的对象;const引用则可以绑定到不同但相关的类型的对象或绑定到右值。 因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。这个规则有三个例外,头文件可以定义类、值在编译时就已知道得const对象和inline函数。这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。  C++ const变量在实际编程中起着非

2010-02-06 12:07:00 1478

转载 转:C语言位域精解

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来

2010-02-06 11:32:00 376

转载 转:用RDTSC指令实现纳秒级计时器

 #include //说明:RDTSC (就是ReaD TimeStamp Count) 其精度可以达到ns(纳秒)级别。(准确地说,其精度是1/F,F为你的CPU的时钟频率,这也是极限精度了)//备注:RDTSC指令的机器码为 0x0F 0x31inline __int64 RDTSC(){__int64 TimeStamp;unsigned long highDword;un

2010-02-06 11:25:00 1164

转载 signed char & unsigned char

signed char实际上是最小的整型,它应该用于内存非常宝贵,并且只需要-127到127范围内的整数值的情况下。这个范围只使用256个可用的8位值中的255个,第256个值的含义依赖于实现。最常见的情况下,它表示-128,但也可以表示-0;unsigned char实际上是一种处理原始内存的方式,它的值表现了一个字节所有可能的位模式。无论何时你想要处理内存的底层状态时,unsigned cha

2010-02-06 11:24:00 520

空空如也

空空如也

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

TA关注的人

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