编程语言
veryday_code
这个作者很懒,什么都没留下…
展开
-
new malloc的区别
1、一个是C++的操作符,一个是C的库函数2、一个在自由存储区分配,一个在堆上分配3、一个分配内存并作初始化即调用构造函数,一个只是分配内存4、一个返回的指针有类型信息,一个没有事void5、二者都可以检测出内存泄露,但前者可以指出是那个文件的哪一行原创 2012-07-19 17:49:07 · 259 阅读 · 0 评论 -
堆、栈及其区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态转载 2012-07-19 17:15:13 · 371 阅读 · 0 评论 -
c++中static的作用
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一 个问题:如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容转载 2012-07-19 18:57:38 · 531 阅读 · 0 评论 -
局部变量、全局变量、静态变量
静态变量的类型说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。 由此看来, 一个变量可由sta转载 2012-07-19 18:46:52 · 270 阅读 · 0 评论 -
extern “C”总结 C++中的explicit关键字
http://www.cnblogs.com/graphics/archive/2010/12/24/1916343.htmlC++中的explicit关键字http://www.cnblogs.com/graphics/archive/2010/08/05/1792749.html转载 2012-08-29 20:48:40 · 891 阅读 · 0 评论 -
static成员必须在类外初始化
转:http://www.cnblogs.com/graphics/archive/2010/07/16/1778743.html为什么static成员必须在类外初始化为什么静态成员不能在类内初始化在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样class A{ private: sta转载 2012-08-29 20:56:15 · 22306 阅读 · 8 评论 -
虚构造函数
如果类被设计成能被继承,析构函数必须是虚函数。否则可以不为虚函数。析构函数写成虚函数主要是为了在实现多态时不造成内存泄露。class A { public: A() {cout<<"A Constructor\n";} virtual ~A() {cout<<"A Destructor\n";} }; class B:public A { pu原创 2012-09-25 10:14:06 · 753 阅读 · 0 评论