- 博客(13)
- 资源 (7)
- 收藏
- 关注
原创 C++explicit关键字
通过关键字explicit的作用,我么可以禁止“单参数构造函数”被用于自动型别转换。典型的例子便是群集类别,你可以将初始长度作为参数传给构造函数,一下举个例子class P{public:explicit P(int x):y(x),str("ssss"){ cout}P(const P &d){ y=d.y;str=new char
2012-09-24 20:55:01 1209
转载 C++开发必看 四种强制类型转换的总结
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)aC++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换
2012-09-24 14:45:39 486
转载 二叉树遍历 非递归 C++实现
二叉树的非递归遍历二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.
2012-09-23 17:00:49 757
转载 为什么构造函数不能声明为虚函数,析构函数可以声明为虚函数
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。
2012-09-20 23:50:22 979
转载 C++中引用(&)的用法和应用实例
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地
2012-09-15 12:56:21 424
原创 c++重载的总结
1.操作符重载对大部分符号成立,一下几种不能重载:" . ", " .* ", " ::", " ?: ", " sizeof "。2.操作符重载分为 成员函数重载 和 全局函数重载,(“ = ”,“ ( ) ”,“ [ ] ",” -> "只能是操作符成员函数重载)3.作为成员函数重载符,对于双目操作符重载函数只需一个形参,对于单目操作符重载函数不需要形参。4.作
2012-09-14 19:36:15 400
转载 C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#includeiostream>usingnamespace std;class CExample {private: int a;
2012-09-09 17:23:50 393
转载 C++中const用法总结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:constint n
2012-09-06 17:26:51 552
原创 带有头节点的单链表的逆置
#include#includeusing namespace std;/******************这是带有头节点的单链表的逆置××××××××××××××*/template class Type>struct P{ Type data; PType> *next;};template class Type>class p
2012-09-05 23:00:54 1297
转载 传递动态内存
当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道.这些往往会使人受尽折磨.所以如果你想深入C/C++编程,你必须静下心来,好好苦一番.现在我们将讨论C/C++里我认为哪一本书都没有完全说清楚,也是涉及概念细节最多,语言中最难的技术之一的动态内存的传递.并且在软件开发中很多专业人员并不能写出相关的合格的代码.【引入】 看下面的例子,这是我们在编写库函数或者项目内的共同函
2012-09-05 14:52:00 385
转载 C++中的类模板详细讲述
参考了博客http://www.cnblogs.com/assemble8086/archive/2011/10/02/2198308.html
2012-09-04 09:19:26 407
原创 带有头结点,头指针真,尾指针的栈基本操作
#includeusing namespace std;typedef char elemtype;/*带有头结点,头指针真,尾指针的栈基本操作*/struct Stack{ elemtype data;struct Stack *next;};//*PStack;//PStack ptop;//PStack pbottom; //定义头指针,尾指针
2012-09-02 20:11:55 2296
转载 经典c/c++面试试题
1.介绍一下STL,详细说明STL如何实现vector。Answer:STL (标准模版库,Standard Template Library)它由容器算法迭代器组成。STL有以下的一些优点:可以方便容易地实现搜索数据或对数据排序等一系列的算法;调试程序时更加安全和方便;即使是人们用STL在UNIX平台下写的代码你也可以很容易地理解(因为STL是跨平台的)。vector
2012-09-01 22:06:29 744
cocos2dx模仿人要慌绳子的物理小demo
2014-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人