C++
justinglu
这个作者很懒,什么都没留下…
展开
-
明晰C++内存分配
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我转载 2011-09-12 21:47:45 · 337 阅读 · 0 评论 -
C++实现委托模型
我对.Net的委托模型印象很深刻,使用委托,可以快速实现观察者模式,免去写很多繁杂重复的代码。遗憾的是,C++并没有提供这样的模型,为了达到相似的目的,需要继承一个类并重写virtual方法,这种做法需要写很多代码,效率比较低下(使用过MFC的应该都能体会到)。然而,在强大的C+转载 2011-09-18 17:08:09 · 624 阅读 · 0 评论 -
C语言循环的小艺术
1. 质数判断对于这个,很多人可能会直接这样写:int isPrime(int n) //函数返回1表示是质数,返回0表示不是质数 { int i; for (i = 2; i if (n % i == 0) break;转载 2011-09-16 17:59:03 · 417 阅读 · 0 评论 -
C++ 命名空间namespace .
命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更转载 2011-09-16 17:58:02 · 407 阅读 · 0 评论 -
C++的static关键字 作者:韩耀旭
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就转载 2011-09-16 17:56:48 · 505 阅读 · 0 评论 -
类模板与模板类及其使用
1.类模板与模板类的概念⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某转载 2011-09-15 15:17:29 · 1251 阅读 · 0 评论 -
深入理解C++中的mutable关键字
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 他只能用转载 2011-09-15 14:55:52 · 359 阅读 · 0 评论 -
C++标准转换运算符reinterpret_cast
reinterpret_cast (expression)reinterpret_cast运算符是用来处理无关类型之间的转换;它会产生一个新的值,这个值会有与原始参数(expressoin)有完全相同的比特位。什么是无关类型?我没有弄清楚,没有找到好的文档来说明类型之间转载 2011-09-15 13:28:08 · 404 阅读 · 0 评论 -
extern使用方法及技巧
extern "C"有两层含义: 1) extern表明变量或者函数是extern的,定义在其他模块中,可以在当前模块中使用 2) “C”表明它是C语言写的代码,因为C语言与C++的编译机制不同,C++支持重载,函数名在编译过程中会被修改,参数类型和参数个数会加到新生成的转载 2011-09-13 10:22:45 · 515 阅读 · 0 评论 -
c++中的虚函数
一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout };class B: p转载 2011-09-19 16:05:07 · 371 阅读 · 0 评论