C++
文章平均质量分 81
Antoinette
这个作者很懒,什么都没留下…
展开
-
typedef使用大全1(数组)
typedef到处都是,但是能够真正懂得typedef使用的不算太多。对于初学者而言,看别人的源码时对到处充斥的typedef往往不知所错,而参考书又很少,所以在此给出一个源码,供大家参考 #include #include /* 避免Visual C的for与标准for的不同 */#define for if (0); else for /* di转载 2009-05-09 15:33:00 · 562 阅读 · 0 评论 -
内存泄漏的真正含义
我们所说的内存泄漏却实是指分配了但不释放的内存,但是称其为“内存泄漏”还有其它的特点: 1、指向它的指针已经指向了另一块区域(它被“遗忘”了) 2、或者,这段内存会不受控制地增长它的大小(它太“贪婪”)。 如果我写一个程序,分配一大段内存,然后就退出了它,没有释放内存,会有什么动作呢? 如果new是一个系统调用,那么就会在系统中留下一些“痕迹”转载 2009-06-04 17:36:00 · 1202 阅读 · 0 评论 -
函数指针的使用(一)
(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个转载 2009-05-09 15:13:00 · 701 阅读 · 0 评论 -
#pragma 预处理指令详解(一)
在所有的预处理指令中,#Pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参转载 2009-05-09 13:28:00 · 686 阅读 · 0 评论 -
typedef使用大全3(指向函数的指针)
在typedef的使用中,最麻烦的是指向函数的指针,如果没有下面的函数,你知道下面这个表达式的定义以及如何使用它吗? int (*s_calc_func(char op))(int, int); 如果不知道,请看下面的程序,里面有比较详细的说明 // 定义四个函数int add(int, int);int sub(int, int);in转载 2009-05-09 15:56:00 · 615 阅读 · 0 评论 -
typedef 使用大全2(结构体)
#define S(s) printf("%s/n", #s); s typedef struct _TS1{ int x, y;} TS1, *PTS1, ***PPPTS1; // TS1是结构体的名称,PTS1是结构体指针的名称// 也就是将结构体struct _TS1 命名为TS1, // 将struct _TS1 * 命名为 PTS1// 将str转载 2009-05-09 15:51:00 · 667 阅读 · 0 评论 -
#pragma 预处理指令详解(二)
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:stru转载 2009-05-09 13:59:00 · 684 阅读 · 0 评论 -
#pragma pack(n)详解与内存对齐
一个很重要的参数#pragma pack(n)数据边界对齐方式:以如下结构为例: struct { char a; WORD b; DWORD c; char d; }在Windows默认结构大小: sizeof转载 2009-05-09 14:41:00 · 997 阅读 · 0 评论 -
c++中__declspec用法总结
1. __declspec(align(16)) struct SS{ int a,b; }; 它与#pragmapack()是一对兄弟,前者规定了对齐的最小值,后者规定了对齐的最大值。同时出现时,前者优先级高。 __declspec(align())的一个特点是,它仅仅规定了数据对齐的位置,而没有规定数据实际占用的内存长度,当指定的数据被放置在确定的位置之后,其后的数据填充仍然是按照转载 2009-06-04 17:57:00 · 638 阅读 · 0 评论