关于C++中虚函数表存放位置的思考

http://blog.chinaunix.net/uid-26611383-id-3772200.html

2014-03-26 17:56:13

阅读数:378

评论数:0

反转一个整数的位

int reverseBits(unsigned x) { int val = 0; for(int i = 0;i < 32;i++) { val = (val<<1) | (x&0x1); x >>=...

2014-03-23 16:44:27

阅读数:412

评论数:0

vector实现(待补充)

template class vector { public: //ctor vector() : data_(NULL), size_(0) { } explicit vector( size_t n, const T& valu...

2014-03-19 16:19:43

阅读数:413

评论数:0

C++内存布局

转自http://www.cnblogs.com/kekec/archive/2013/01/27/2822872.html #类中的元素 0. 成员变量   1. 成员函数   2. 静态成员变量   3. 静态成员函数   4. 虚函数   5. 纯虚函数 #影响对象大小...

2014-03-15 17:30:48

阅读数:433

评论数:0

placement new

placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。 它的原型如下: void *operator new( size_t, void *p ) ...

2014-03-05 22:38:40

阅读数:462

评论数:0

为什么内联函数,构造函数,静态成员函数不能为virtual函数?

http://blog.csdn.net/ylong17/article/details/6652344 为什么内联函数,构造函数,静态成员函数不能为virtual函数? 1> 内联函数 内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义...

2014-03-03 00:09:45

阅读数:613

评论数:0

string类实现

http://coolshell.cn/articles/10478.html

2014-03-01 16:51:02

阅读数:397

评论数:0

结构体对齐问题

有8字节类型时候要注意下,如double,long long ,gcc会把8字节类型按4字节对齐,而mingw32-gcc按8字节来对齐 http://stackoverflow.com/questions/20353757/why-are-the-values-returned-by-sizeo...

2014-01-13 20:17:47

阅读数:400

评论数:0

offsetof与container_of宏

#include #define offset(s,m) (size_t)&(((s*)0)->m) typedef struct { char c; int a; }s; int main() { printf("%u %u\n",...

2014-01-06 16:28:05

阅读数:537

评论数:1

内存池

总结下常见的C++内存池,以备以后查询。 应该说没有一个内存池适合所有的情况, 根据不同的需求选择正确的内存池才是正道. (1)最简单的固定大小缓冲池     适用于频繁分配和释放固定大小对象的情况, 关于这个内存池,我这里总结过:一个高效的内存池实现 (2)dlmallo...

2013-12-20 16:30:55

阅读数:490

评论数:0

谈谈你对面向对象编程的认识

面向对象编程强调抽象、封装、继承、多态 抽象:我们在定义一个抽象类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象。你可以这样来想,抽象就是一个类的最基础的东西,比方说人,他的抽象类可能就是都从母体出来,有皮肤。但具体到你是黑人,白人...

2013-12-12 10:35:36

阅读数:412

评论数:0

杂C/C++代码题

1、写出下面代码的输出 [cpp] view plaincopy #include   int main(){       char *p="abcdef";       char str[]="123456";            ...

2013-12-10 11:34:16

阅读数:538

评论数:0

c/c++面试题

近期面试,下面这些是经常被问到的C/C++基础的内容。 1. 一般问const、static、extern、mutable、volatile的用法和注意点?   2.new失败和malloc失败 答:   C++中new失败会抛异常,默认不会返回NULL, int* p = new (...

2013-12-07 15:22:13

阅读数:439

评论数:0

HashMap与HashTable区别

HashMap基于Hashtable实现,不同之处在于HashMap是非同步的,并且允许null,即null value和null key,Hashtable则不允许null,详见:http://oznyang.iteye.com/blog/30690。此外,记住一点:hashmap/hashse...

2013-12-05 00:03:26

阅读数:459

评论数:0

++i 与i++的效率

这个问题是分两种情况的: 1、对于内置数据类型,以现在的编译器的优化水平,前++和后++没区别的,这个可以通过看汇编代码证明 2、对于自定义数据类型,像STL,前++的效率要高于后++,所以STL中关于iterator都是前++的

2013-12-04 22:34:46

阅读数:366

评论数:0

2.2

1、联合输出 #include stdio.h> union {   int i;   char x[2]; }a; void main() {   a.x[0] =10;    a.x[1] =1;   printf("%d",a.i); } 答案:266 ...

2013-12-03 19:59:36

阅读数:495

评论数:0

2.1

1. C中static有什么作用   (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。   (2)static的第二个作用是保持变量内容的持久。存储在静态数据区...

2013-12-03 18:43:13

阅读数:450

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭