其他
文章平均质量分 88
情深的媛
netease 高级java开发工程师,曾在乐视和美团
展开
-
const
指针和const将const用于指针有一些很微妙的第方,指针总是看起来很微妙)我们来详细的探讨一下,用const声明常量是必须提供初始化如Const int maxsize=100; 可以用俩种不同的方式将const关键字用于指针,第一种方法是将指针指向一个常量对象,这样可以防止使用指针来修改所指向的值。第二种方法是是将指针本身声明为常量,这原创 2013-01-27 18:09:20 · 413 阅读 · 0 评论 -
动态二维数组
int **p = new int*[x];//创建一个动态int* 型数组for( i = 0; i < x; i) p[i] = new int[y]; //再创建一个动态int 型数组 for ( i = 0; i < x; i) { delete[] p[i]; p[i] = NULL; } delete []p; p = NULL;转载 2013-05-05 17:01:57 · 778 阅读 · 0 评论 -
动态二维数组的申请、赋初值、使用、释放空间
/ //按照动态二维数组的申请、赋初值、使用、释放空间五个部分给出代码,以示参考。//同时,给出了动态二维数组用作形参和实参的实例,方便大家查询。 #includeusingnamespace std; //动态二维数组作形参void display(int ** &p,int row,转载 2013-05-05 17:14:25 · 1202 阅读 · 0 评论 -
explicit关键字
今天看到公司的代码内有大量的explicit关键字,但是老版的MSDN内例子并不完善,实在是不明白,最终从网上一篇文章内找到了答案:原来explicit是为了防止隐式使用拷贝构造函数的.以下附上从新版MSDN中找到的例子和网上那篇文章:// Copy From MSDNThis keyword is a declaration specifier that can only be appl转载 2013-01-25 01:18:59 · 425 阅读 · 1 评论 -
读《大话设计模式》---外观模式(Facade)
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得一个子系统更加容易使用外观模式结构图外观模式的一般实现方法:#include using namespace std;class SubSystemOne{public:void MethodOne(){cout " 子系统方法一" }};class SubSystemTwo{转载 2013-01-27 10:33:50 · 290 阅读 · 0 评论 -
面向对象程序设计语言C++中的多态性
C++是以C语言为基础,支持数据抽象和面向对象的程序设计语言。C++对C语言的扩充部分汲取了许多著名语言中最优秀的特征,如从Algo168中吸取了操作符重载机制等。由于C++语言具有与C语言一样的高执行效率,并容易被熟悉C语言的软件人员接受,因而很快得以流行。但这种混合型面向对象的程序设计语言是一种新的程序设计语言,人们对它许多潜在的性能(封装、继承、多态等)还没有充分地理解和转载 2013-01-27 18:17:49 · 1130 阅读 · 0 评论 -
重载
直接把《effective C++》里的这一章贴给你:Item 6: 如果你不想使用 compiler-generated functions(编译器生成函数),就明确拒绝作者:Scott Meyers译者:fatalerror99 (iTePub's Nirvana)发布:http://blog.csdn.net/fatalerror99/房地产代理商原创 2013-02-12 11:53:17 · 280 阅读 · 0 评论 -
replace函数
#include#includeusing namespace std;int main(){string A("A piece of text");string tag("$tags");s.insert(8,tag+' ');//s.insert(pos,cp,len)pos的元素之前插入cp所指向数组的前leng个字符//s.i原创 2013-03-18 21:37:51 · 861 阅读 · 0 评论 -
双链表
单链表是最基本最简单的结构了,用处也蛮多的吧,尤其是后面在层序结构的各种树与图结构的时候大量使用链表而且还很多是单链表形式的。学习双向链表还是由约瑟夫问题引入的呢,在单链表的删除操作时需要用并排的两个指针同步向后移动,为避免这个问题双向链表就派上用场了。双向链表顾名思义是每个结点有两个方向了,那么在结点里面不仅仅要保存一个后向指针还要保存一个前向指针了。[cpp] view pla转载 2013-01-25 01:24:36 · 380 阅读 · 0 评论 -
vector部分实现
#ifndef _MY_VECTOR_H#define _MY_VECTOR_H#include #include templateclass T> class MyVector { public:class iterator { public:iterator():pelem(NULL){}iterator(T *pt):p转载 2013-01-27 19:02:30 · 313 阅读 · 0 评论 -
Virtual
Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Ba转载 2013-02-12 11:57:25 · 354 阅读 · 0 评论 -
size_t
size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。例如:bitset的size操作返回bitset对象中二进制位中的个数,返回值类型是size_t。例如:在用下标访问元素时,vector使用vector::size_type作为下标类型,而数组下标的正确类型则是s转载 2013-03-18 20:37:10 · 635 阅读 · 0 评论 -
常量
常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。1 为什么需要常量如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?(1)程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。(2)转载 2013-01-27 10:31:37 · 367 阅读 · 0 评论 -
[C++][Thread] 转:线程池原理及创建(C++实现)
看不懂,先收藏本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。为什么需要线程池 目前的大多数网络服务器,包括Web服务器、Email服务器转载 2013-01-27 10:55:47 · 2906 阅读 · 0 评论 -
不用友元,访问类的私有成员变量的方法
虽然没有现实意义,但对理解C++的对象模型是很有帮助的。前几天,在论坛里看到一个帖子,内容是: (原帖见:http://community.csdn.net/Expert/topic/5014/5014384.xml?temp=.3018152) ======================================== class a { private:转载 2013-01-27 10:39:56 · 675 阅读 · 0 评论 -
c++ template之trait技法总结
Trait技法的最初目的是为了管理模板参数,有的时候模板中需要几个参数,但是往往有些参数是与main parameters紧密相关的,这时候可以使用trait技巧,从几个主要的模板参数中推导出相应的secondary template argument,并以默认模板参数的形式出现在模板中。实际上使用的trait技巧实例往往会有效地提高程序的效率,下面我结合STL小小的说说trait的实际运用。转载 2013-02-02 01:22:33 · 654 阅读 · 0 评论 -
mysql语法大全
云计算数据中心节能增效之道 CSDN博客第一期云计算最佳博主评选CSDN博客第二期最佳移动开发博主评选mysql语法大全分类:sql2012-12-19 17:37100人阅读评论(0)收藏举报下面从网上找出一些常用的sql语法:创建,删除和最基本查询:显示数据库 mysql->show databases;创建数据库 mysql->create d转载 2013-05-13 21:00:41 · 767 阅读 · 0 评论