- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 c++的POD类型详解
POD(plain old data)在imperfect c++里,书里是这样解释POD的:1、 所有标量类型(基本类型和指针类型)、POD结构类型、POD联合类型、以及这几种类型的数组、const/volatile修饰的版本都是POD类型。2、 POD结构/联合类型:一个聚合体(包括class),它的非static成员都不是pointer to class member、
2012-10-18 12:45:03 1034
原创 const 关键字 笔记
const修饰的值并不是常量,而是只读的变量。其值在编译时不能被使用,因为编译器在编译时不知道其存储的内容。C++ 里 const 变量一般默认 static 连接方式也就是其它 .cpp 文件看不到,所以用 extern 声明也没用可将 const 变量的声明放在 .h 文件里,需要使用此常量的 .cpp 都 #include 它编译器通常不为普通const只读变
2012-10-17 12:58:33 707
原创 typeid使用
在c++中,typeid用于获知一个变量的具体类型。(注意:typeid是操作符,不是函数!) 运行时获知变量类型名称,可以使用 typeid(变量).name,需要注意不是所有编译器都输出"int"、"float"等之类的名称,对于这类的编译器可以这样使用:float f = 1.1f; if( typeid(f) == typeid(0.0f) ) …… 事例代码:
2012-10-13 10:22:30 646
原创 static 声明的变量在C语言中有两方面的特征
1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips: A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度; B.若全局变量仅由单个函数访问,则可以将这个变量改
2012-10-11 07:00:52 1134
原创 构造函数能不能是虚函数
解释一下: 1,从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2,从使用角度 虚函数主要用于在信息不全的情况下,能使重载
2012-10-10 10:53:39 653 1
原创 静态链接库与动态链接库的区别
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可
2012-10-07 00:09:57 519
原创 共用体详解
共用体同结构体的定义形式上相同,只是把关键字struct改为union。有时需要把几种不同类型的变量放在同有一内存区域中,见图12-6,把一个整型变量,一个字符变量,一个实型变量放在同一内存区域中,尽管三个变量占用字节数各不相同,但起始地址都一样(例如1000)它要用“覆盖’’技术,使多个变量互相覆盖。这种结构称为共同体或者联合。
2012-10-06 21:55:44 1394
原创 类的数据成员初始化
class A{private:static int a;static const int b;static const int c=12;static const double d;char f;};在一个类中,数据成员的初始化: 一般的数据成员或者常量数据都是通过构造函数来实现初始化,然而对于静态数据(指的是非const类型)初始化,都是在类的定义外部类初始化,例如calss
2012-10-05 20:56:46 849
转载 HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同
1. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是局部。函数原型为:LPVOIDHeapAlloc( HA
2012-10-01 14:32:02 789
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人