自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 C++中的回调函数

from http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html今天讨论下C/C++中的回调函数。     在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就

2014-12-23 22:52:26 304

转载 std::nothrow

from http://en.cppreference.com/w/cpp/memory/new/nothrow#include #include  int main(){ try { while (true) { new int[100000000ul]; // throwing overload

2014-12-23 21:19:05 307

转载 linux 查找目录或文件

from http://blog.csdn.net/windone0109/article/details/2817792 查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print  如果需要更进一步的了解,可以参看Linux的命令详解。这里摘抄如下: ·find pa

2014-12-23 10:09:04 420

转载 c++深拷贝和浅拷贝

from http://blog.csdn.net/jackystudio/article/details/115531171.普通类型对象的拷贝普通类型对象的拷贝很简单,就是值的复制而已。比如:[cpp] view plaincopyint _tmain(int argc, _TCHAR* argv[])  {      int

2014-12-22 20:23:21 515

原创 c++11 Lambda test

#include #include #include #include using namespace std;// from http://www.cnblogs.com/hujian/archive/2012/02/14/2350306.html// g++ testLambda.cpp -o testLambda -std=c++11class CTest

2014-12-22 11:31:20 398

转载 五步让你成为专家级程序员

from http://www.csdn.net/article/2012-12-05/2812532-How-to-program我已经从事10年的技术培训工作,一直教人如何编程。这些人包括学生、已经走上工作岗位的开发人员。在多年的工作生涯中,我注意到一些正确/错误学习编程语言的方式,下面我分享一些正确学习语言的5种技巧,虽然它们看起来都很浅显,但只要你认真执行,绝对会有很大效果

2014-12-22 10:29:03 329

转载 do...while(0)的妙用

转自:http://www.cnblogs.com/flying_bat/archive/2008/01/18/1044693.html在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。    但是,最近在读我们项目的代码时,却发现了do...while的一

2014-12-21 21:16:28 297

原创 安装Ubuntu 14.04, 装系统跟装软件一样简答

下载Ubuntu 14.04的镜像下载软碟通UltraISO启动文件后,点击 --打开--选择已经下载好的Ubuntu 14.04镜像文件点击---启动--写入硬盘镜像弹出页面中,写入方式默认为USB-HDD+,该方式一般无需更改。请注意点击便捷启动按钮----选择写入新的驱动器引导扇区----Syslinux。点击后会弹出一个对话框,询问是否写入引导扇区。点击--是--确定后,将会出现提示写入成

2014-12-21 20:45:58 337

转载 对象内存布局 (16)

转自http://blog.csdn.net/pathuang68/article/details/4105922下面讨论虚基类和虚函数同时存在的时候,对对象内存布局的影响。假定各个类之间的关系如下图:  Base中声明了一个虚函数vfBase()和一个整形成员变量;Derived1 override了Base中声明的虚函数vfBase(),声明

2014-12-19 22:30:06 308

转载 对象内存布局 (15)

转自http://blog.csdn.net/pathuang68/article/details/4105902和对象内存布局 (14)差不多,只是改动了两个继承关系。几个类的继承关系如下图,这种继承方式不是很有实际意义,在此纯粹是探究类的memory layout。        代码如下:#include using namespace

2014-12-19 22:29:12 322

转载 对象内存布局 (14)

转自http://blog.csdn.net/pathuang68/article/details/4105851继续探讨虚基类对对象内存布局的影响。几个类的继承关系如下图,这是虚基类最为常见的用法之一: 代码如下:#include using namespace std; class Base{publi

2014-12-19 22:28:17 318

转载 对象内存布局 (13)

转自http://blog.csdn.net/pathuang68/article/details/4105810下面来看看虚基类对对象内存布局的影响。虚基类的主要作用就是在所有的派生类中,保留且仅保留一份虚基类的suboject。 a. 一个虚基类的情况#include using namespace std; class Ba

2014-12-19 22:27:12 369

转载 对象内存布局 (12)

转自http://blog.csdn.net/pathuang68/article/details/4105626注意:关于内存对齐(memory alignment),请看关于内存对齐问题,后面将会用到。 下面我们进行在普通继承(即非虚继承)时,派生类的指针转换到基类指针的情形研究。假定各类之间的关系如下图:代码如下:#incl

2014-12-19 22:25:11 310

转载 对象内存布局 (11)

转自http://blog.csdn.net/pathuang68/article/details/4105608在C++中,一个类实例化得到的结果就是一个对象。一个类包含成员变量和成员函数,其中成员变量又分为nonstatic成员变量和static成员变量;成员函数又可以分为nonstatic成员函数、static成员函数以及virtual成员函数。一个对象包含可能存在的vf

2014-12-19 22:24:19 401

转载 对象内存布局 (10)

转自http://blog.csdn.net/pathuang68/article/details/4103627在对象内存布局 (9)基础上做些修改:派生类override基类的虚函数,即Base2 override Base1中声明的虚函数vfBase1(),Base3 override Base1中声明的虚函数vfBase1()和Base2中声明的虚函数vfBase2

2014-12-19 22:23:12 244

转载 对象内存布局 (9)

转自http://blog.csdn.net/pathuang68/article/details/4103581假定多层继承的各类之间的关系如下图。假定派生类不override基类的虚函数,即Base2不override Base1中声明的虚函数vfBase1(),Base3不override Base2中声明的虚函数vfBase2(),Derived不override Ba

2014-12-19 22:22:28 365

转载 对象内存布局 (8)

转自http://blog.csdn.net/pathuang68/article/details/4102006在内存对象布局 (5)的代码中,在Derived类中将三个基类中的虚函数分别覆盖一个,即分别覆盖Base1中声明的vfBase1_1(),Base2中声明的vfBase2_1()以及Base3中声明的vfBase3_1()。保持其他代码不变,修改后的Derive

2014-12-19 22:21:29 345

转载 对象内存布局 (7)

转自http://blog.csdn.net/pathuang68/article/details/4102003在对象内存布局 (5)的代码中,在Derived类中覆盖Base1中声明的vfBase1_1(),其他代码不变。修改后的Derived的定义如下:class Derived : public Base1, public Base2, public Base3

2014-12-19 22:20:33 306

转载 对象内存布局 (6)

转自http://blog.csdn.net/pathuang68/article/details/4102002如果在对象内存布局 (5)的代码中,将Base1中的两个虚函数声明删除,同时将main函数中的下面代码注释掉(因为现在只有两张虚函数表了):        cout          i = 0;         tmp = ((int*)&

2014-12-19 22:18:52 394

转载 对象内存布局 (5)

转自http://blog.csdn.net/pathuang68/article/details/4101999内容概要:满足下面3个条件时,1. 父类有虚函数,子类也有虚函数,且子类的虚函数重写或覆盖了父类的虚函数2. 非虚继承3. 多重继承类对象之内存布局 前篇: http://blog.csdn.net/pathu

2014-12-19 22:17:49 256

转载 对象内存布局 (4)

转自http://blog.csdn.net/pathuang68/article/details/4101981内容概要:满足下面2个条件时,1. 父类有虚函数,子类也有虚函数,且子类的虚函数重写或覆盖了父类的虚函数2. 非虚继承类对象之内存布局 前篇:http://blog.csdn.net/pathuang68/archiv

2014-12-19 22:17:13 307

转载 对象内存布局 (3)

转自http://blog.csdn.net/pathuang68/article/details/4101979内容概要:满足下面2个条件时,1. 父类无虚函数,子类有虚函数2. 非虚继承类对象之内存布局 前篇:http://blog.csdn.net/pathuang68/archive/2009/04/23/4101977.

2014-12-19 22:16:01 272

转载 对象内存布局 (2)

转自http://blog.csdn.net/pathuang68/article/details/4101977内容概要:满足下面2个条件时,1. 父类有虚函数,子类也有虚函数,但子类并没有重写或覆盖父类的虚函数2. 非虚继承类对象之内存布局 续前篇:http://blog.csdn.net/pathuang68/archive

2014-12-19 22:14:51 272

转载 对象内存布局 (1)

转自http://blog.csdn.net/pathuang68/article/details/4101970内容概要:满足下面2个条件时,1. 父类有虚函数,子类无虚函数(即无虚函数重写或无虚函数覆盖)2. 非虚继承类对象之内存布局 前述相关内容参考:1. http://blog.csdn.net/pathuang6

2014-12-19 22:13:32 278

转载 C++ 虚函数表解析

转自http://blog.csdn.net/haoel/article/details/1948051C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父

2014-12-19 20:46:38 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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