zhangpinghao的专栏

好记性不如烂笔头

详解Big-Endian和Little-Endian,大端模式和小端模式

详解大端模式和小端模式 嵌入式开发交流群280352802,欢迎加入! 一、大端模式和小端模式的起源         关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原...

2013-11-01 22:00:00

阅读数 3410

评论数 1

小括号重载

#include using namespace std; class Time { public: int h; int m; int s; Time( int h = 0, int m = 0, int s = 0 ) { oper...

2013-10-21 11:23:16

阅读数 1032

评论数 0

STL 简介,标准模板库

http://blog.csdn.net/byxdaz/article/details/4633826 这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。  当我第一次打算写一篇关于STL的文章的时候,我不得不承认...

2013-10-20 23:10:00

阅读数 643

评论数 0

详细解说STL hash_map系列

1 数据结构:hash_map原理 这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。 hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,...

2013-10-20 22:46:57

阅读数 677

评论数 0

C++成员指针

中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。   刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简...

2013-10-06 15:55:14

阅读数 422

评论数 0

c++类的构造函数详解

http://www.cnblogs.com/xkfz007/archive/2012/05/11/2496447.html 一、 构造函数是干什么的 class Counter { public:          // 类Counter的构造函数          // 特...

2013-10-02 10:47:07

阅读数 448

评论数 0

利用栈实现二叉树的先序,中序,后序遍历的非递归操作

中序遍历 void inOrder(BiTree T,void(*vist)( element e)){ stack S; while (true){ if (T) { s.push(T);T=T->Lchild;} else {T=s.pop(s); visit(T);T=T->R...

2013-09-29 18:32:09

阅读数 2350

评论数 0

C++STL容器的基本特性和原理

STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string. 二 : 关联容器,     有set, multiset, map, mulmap                hash_set,hash_map, hash_mul...

2013-09-23 22:10:17

阅读数 589

评论数 0

用故事讲解虚函数。

理解虚函数( virtual function )的几个关键点: 1.       理解早绑定(early binding)、晚绑定(late binding)。所谓early binding:On compile time,就能明确一个函数调用是对哪个对象的哪个成员函数进行的,即编译时...

2013-09-16 15:50:46

阅读数 533

评论数 0

C++ 右值引用

一:第一个具有const引用的函数,可以接受任意的参数,不管是左值还是右值,不管这个左值或者右值易变或者不易变(if mutable);但是对于第二个函数,除了mutable rvalue-references类型,其他的类型都可以。 二:先从例子入手 printReference (cons...

2013-09-16 14:33:04

阅读数 659

评论数 0

C++对象的内存布局

C++对象的内存布局         内存布局是属于较深层次的知识,一般C++学习的书籍上不会专门讲解。而很多问题往深了讲都是不清楚内存布局的原理。最近有幸读到一本书,里面讲了一部分C++对象的内存布局,让我对很多以前的问题都豁然开朗了。书上篇幅较大,我加上自己的理解总结了下。         分...

2013-08-21 23:19:55

阅读数 769

评论数 0

C++ 初始化列表

何谓初始化列表 与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的克访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。 ...

2013-08-18 23:17:13

阅读数 531

评论数 0

C++操作符重载

赋值操作符 赋值操作符即“=”。赋值操作符为二元操作数,其操作目的是将右操作数的值复制给左操作数。由于左值涉及到写操作,因此左值必须为非const量,而右值在赋值操作中只涉及读操作,因此一般为const量。 赋值操作符通常返回左操作数的引用,这样就不需要创建和撤销运算结果的临时副本。 C/C...

2012-12-15 22:13:14

阅读数 684

评论数 0

C++初始化成员列表

C++在类的构造函数中,可以两种方式初始化成员数据: 在构造函数的实现中,初始类的成员数据。还可以定义初始化成员列表 (Initializer list) 来初始化成员数据。   那么我们在什么情况下该使用初始化成员列表呢? 需要初始化的数据成员是对象。需要初始化的类成员是...

2012-12-15 19:32:33

阅读数 433

评论数 0

C++中的dynamic_cast和static_cast

dynamic_cast和static_cast: dynamic_cast ( expression )   该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*; 他们区别是   在类层次间进行上行转换时,dynamic_...

2012-12-11 22:19:29

阅读数 439

评论数 0

C++中,类继承的内存布局

对于普通的继承,不涉及虚拟继承时,比较简单。 如果继承多个父类则: 每个父类都有自己的虚表,子类虚成员函数加到第一个父类的虚函数列表后面 其它数据成员,按顺序依次放在各个父类的虚函数列表后面 以下内容,摘自网友 [0] Base1::_vptr->    ...

2012-11-29 20:25:22

阅读数 674

评论数 0

C++中类的静态变量在哪初始化

静态数据成员的使用方法和注意事项如下:    1、静态数据成员在定义或说明时前面加关键字static。    2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:      ::=    这表明:    (1) 初始化在类体外进行,而且前面不能加...

2012-11-29 01:01:19

阅读数 3910

评论数 0

C++类的内存地址存放问题

http://hi.baidu.com/lovestartian/item/5e10f99e1b1faedb1e4271a3 http://hi.baidu.com/haven2002/item/2bd05ea954130d98141073dd 了解C++类地址的存放和分配等问题,...

2012-11-27 13:39:53

阅读数 575

评论数 0

C++函数后加const的意义

一些成员函数改变对象,一些成员函数不改变对象。 例如:int Point::GetY() {return yVal; }这个函数被调用时,不改变Point对象,而下面的函数改变Point对象: void Point:: SetPt(int x, int y) { xVal=x; yVal=y;...

2012-11-21 21:50:46

阅读数 6439

评论数 0

iostream.h和iostream 区别

http://hi.baidu.com/laddie10/item/3f1e2fd404bd19e6b2f777eb C++中新定义的方法都是有名字空间的 比如cout就属于std名字空间 如果include头文件的时候加上.h,默认会using namespace 否则需要自己...

2012-11-18 22:50:34

阅读数 531

评论数 0

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