C C++
joejames
这个作者很懒,什么都没留下…
展开
-
c++内存分布
为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内存布局对调试程序非常有帮助,可以知道程序执行时,到底做了什么,有助于写出干净的代码。本文的主要内容如下:源文件转换为可执行文件可执行程序组成及内存布局数据存储类别一个实例总结源文件转换为可执行文件源文件经过以下几步生成可执行文件:1、预处理(preprocessor):对#include、#def转载 2014-07-19 10:49:34 · 1823 阅读 · 1 评论 -
const 和 #define区别
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。(2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。(3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。转载 2014-08-30 10:15:04 · 346 阅读 · 0 评论 -
归并排序的简单实现
#include #include void merge(int a[],int p ,int q,int r){ int i,j,k,n1,n2; int *front,*back; n1 = q-p+1; n2 = r-q; front = (int *)malloc(n1 * sizeof(int)); back = (int *)malloc(n2 * sizeo原创 2014-08-30 15:51:00 · 482 阅读 · 0 评论 -
volatile的作用
http://baike.baidu.com/view/608706.htm?fr=aladdin原创 2014-08-30 13:35:10 · 368 阅读 · 0 评论 -
sizeof
char*pc="abc"; int*pi; string*ps; char**ppc=&pc; void(*pf)();//函数指针 sizeof(pc);//结果为4 sizeof(pi);//结果为4 sizeof(ps);//结果为4 sizeof(ppc);//结果为4 sizeof(pf);//结果为4原创 2014-07-14 15:17:37 · 598 阅读 · 0 评论 -
字符串操作&内存操作
char * strcpy( char *strDest, const char *strSrc ) { if(strDest == strSrc) { return strDest; } assert( (strDest != NULL) && (strSrc != NULL) ); char *addr原创 2014-07-30 23:17:39 · 796 阅读 · 0 评论 -
malloc和free的原理
一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte): 该函数是将之前用malloc分转载 2014-07-25 10:23:27 · 734 阅读 · 0 评论 -
虚函数实现原理
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不转载 2014-07-19 22:13:16 · 567 阅读 · 0 评论 -
C++ String类的实现
#includeusing namespace std;class String{ friend ostream& operator<< (ostream&,String&);public: String(const char* str=NULL); //赋值构造兼默认构造函数(char) String(const String &other); //赋值构造函数(转载 2014-07-19 15:58:43 · 482 阅读 · 0 评论 -
const的使用细节总结
c中的const:http://baike.baidu.com/subview/1065598/5048428.htm#viewPageContent转载 2014-08-30 11:45:05 · 448 阅读 · 0 评论