- 博客(73)
- 收藏
- 关注

转载 c++完美实现单例模式
Singleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1. 标准的实现class Singleton{public: static Singleton * Instance() { if( 0== _instance) {
2013-12-11 12:17:09
660

原创 map的代码实例
#include #include #include #include using namespace std;int main(){ mapint,string> t_map1; pairmapint,string>::iterator,bool> t_pairResult; //插入数据方式一 t_pairResu
2013-08-21 21:57:59
691
原创 安卓achartengine 饼图
private void CreatePieView() {int[] colors = { Color.parseColor("#ff8888"),Color.parseColor("#FFB888"), Color.parseColor("#FFE788"),Color.parseColor("#EBCC9C") };DefaultRenderer render
2014-11-21 15:29:46
743
原创 achartengine表格折线图代码加注释
public void lineView() {// 同样是需要数据dataset和视图渲染器rendererXYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();XYSeries series = new XYSeries("正面言论");series.add(1, 56);series.add(2,
2014-11-21 15:26:43
782
转载 #program 与 #ifdef #endif区别
在用VC6.0向导生成的头文件中,经常可以看见如下的代码段: #if !defined(AFX_RESIZABLELAYOUT_H__INCLUDED_) #define AFX_RESIZABLELAYOUT_H__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MS
2014-03-20 16:09:18
632
原创 string 和string& 做形参时的不同
父类如下class base{public:base();virtual ~base();void print(string &str){cout }void print(int a){cout }};子类如下class derive :public base{public:derive();virtual ~de
2014-03-20 15:33:02
4477
原创 lua学习之表的构造
构造器是构建和初始化表的表达式,表是lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。可以直接初始化数组,days = {"Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"}lua将"sunday"初始化days[1](第一个元素的索引为1),用"Monday"初始化day[
2013-12-31 12:04:27
886
转载 初学者指针会遇到的问题。。
引言 指针是C/C++语言学习的根基,主要体现在其灵活的运用方式。灵活地运用指针,可有效表示可直接处理内存地址、动态分配内存、复杂的数据结构、更简单有效的处理字符串和数组。因此强化对指针的认识、理解和运用是学习C/C++编程的重中之重。1指针的概念 指针是一个相对特殊的变量,其中存储的数值被解释为内存中的一个地址。理解指针首先要明确四个方面的内容:指针的类型、指向的类型、指针的值和
2013-12-19 16:48:51
1020
原创 学习经验一点点。。。
splice与merge最大的不同时,不用排序,也不要求原始链表有序。相同点是,被合并的链表或元素将消失。基类中若是有纯虚函数 即基类是抽象类 子类继承父类之后 必须实现父类中的纯虚函数 虚基类不能实例化 但是能声明指针啊。。。。 父类中若是也含所有虚函数 可不用在子类中实现 但必须父类中实现。因为被实例化的类必须要实现他的虚
2013-12-19 14:49:57
583
转载 STL容器
1. 概念 STL容器大的方向分为两类,序列式容器和关联式容器,这两者通过数据在容器内的排列来区分,关联容器是通过键(key)存储和读取元素的,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。标准的STL序列容器包括:vector、list、deque、heap(算法呈现)、stack(适配器)、queue(适配器)、priority_queue(适配器)。标准的STL关联式容器
2013-12-18 21:01:14
544
原创 自己实现string类的相关函数
#include "kstring.h"int kstring::m_number = 0;kstring::kstring() //无参的构造函数{ m_str = new char[1]; *m_str = '\0'; m_length = 0; m_number++;}
2013-12-12 18:43:49
643
转载 图的广度优先搜索和深度优先搜索
图的广度优先搜索和深度优先搜索[cpp] view plaincopy#include #include #include #include #include #include using namespace std; #define VERTEXNUM 100//最大顶点数 #de
2013-12-11 20:15:16
649
转载 树的相关基础算法
树的相关基础算法,先序、中序、后序递归与非递归,层次遍历,建立二叉搜索树。点击(此处)折叠或打开#include iostream>#include stack>#include queue>using namespace std;typedef struct Tree { int val;
2013-12-11 20:12:58
554
翻译 C++ auto_ptr智能指针的用法
C++中指针申请和释放内存通常采用的方式是new和delete。然而标准C++中还有一个强大的模版类就是auto_ptr,它可以在你不用的时候自动帮你释放内存。下面简单说一下用法。[cpp] view plaincopy用法一: std::auto_ptrm_example(new MyClass()); 用法二: std::auto_ptrm_example
2013-12-11 12:30:20
565
转载 C++ 智能指针详解
一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared
2013-12-11 12:29:33
475
转载 单例模式
1.1.1 摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例,如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要介绍的——单例模式(Singleton)。 使用频率 高 单件模式(Singleton):保证一个类仅有一个实例,并提供一个访问
2013-12-10 19:10:36
452
转载 工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创
2013-12-10 19:06:49
547
转载 c++容器相关
本文将详细介绍c++容器简介,c++容器的比较 与操作实例,需要了解更多的朋友可以参考下复制代码代码如下:# include # include # include using namespace std; int main(int argc, char * argv[]) { vector v; //找一些
2013-12-10 18:53:14
577
转载 C++ 容器及选用总结
目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL===============================================
2013-12-09 21:15:26
551
转载 在子类中显示的调用父类的有参构造函数的方法
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。构造原则如下: 1. 如果子类没有定
2013-12-04 21:34:57
2256
转载 重运算符用成员函数还是友元函数
从一个二级题来看成员函数重载运算符和友元函数重载运算符先上题:下列运算符都可以被友元函数重载的是:A)=,+,-,\B)[],+,(),newC)->,+,*,>>D)>,+,*正确答案为D我们知道,在运算符重载,友元函数运算符重载函数与成员运算符重载函数的区别是:友元函数没有this指针,而成员函数有,因此,在两个操作数的重载中友元函数有两个参数,而成
2013-12-04 20:49:41
1016
转载 c++四种强制类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b= (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动
2013-12-04 19:51:34
496
转载 虚函数机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过
2013-11-27 09:48:12
490
转载 c++库
1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,AC
2013-11-27 09:43:45
740
转载 析构函数为虚函数
析构函数执行时先调用派生类的析构函数,其次才调用基类的析构函数。如果析构函数不是虚函数,而程序执行时又要通过基类的指针去销毁派生类的动态对象,那么用delete销毁对象时,只调用了基类的析构函数,未调用派生类的析构函数。这样会造成销毁对象不完全。#include#includeclass CPerson{public:virtual ~CPerson();//基类的
2013-11-18 09:14:23
458
转载 输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。引子:判断字符串是否对称要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那
2013-10-20 11:35:55
2373
转载 typedef函数用法
在网上搜索函数指针,看到一个例子。开始没看懂,想放弃,可是转念一想,这个用法迟早要弄懂的,现在多花点时间看懂它,好过以后碰到了要再花一倍时间来弄懂它。其实很多时候都是这样,如果每次到难一点的内容,总想着下次我再来解决它,那就永远也学不到东西。后面那个例子加了注释,是我对这种用法的理解,希望对新手有所帮助。 进入正文: 代码简化, 促进跨平台开发的目的. ty
2013-09-19 22:16:12
601
转载 容器vector的函数
C++ Vectors构造函数语法:vector(); vector( size_type num, const TYPE &val ); vector( const vector &from ); vector( input_iterator start, input_iterator end );C++ Vectors可以使用以下任意一种参数
2013-09-17 16:00:27
782
转载 cout<<hex<<u.i<<endl 《程序员面试宝典》的一道union题目
#include using namespace std ;union{ unsigned char a; unsigned int i;}u;void main(){ u.i = 0xf0f1f2f3; cout cout}输出结果:f0f1f2f3f3-----------------------------------------
2013-09-15 18:43:36
1098
转载 c++中的4种新增的强制转换符
Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:int i;double d;
2013-09-15 17:24:41
598
原创 指针与函数和数组结合
先来看看下面面试题1. float (** def ) [10];2. double * ( *gh ) [10];3. double( *f [10] ) ();4. int *( (*b)[10] );5 long (*fun) (int)6.int ( * (*F)(int,int)
2013-09-13 17:16:20
1013
原创 关于多态的代码理解
先看下面的一到面试题#ifndef BASE_H#define BASE_H#include using namespace std;class base{public: base(); virtual void print() { cout"A" }};class deride1:public
2013-09-13 16:02:50
1033
转载 虚函数必须实现么????
需要实例化类的虚函数必须有定义,而仅仅定义带有虚函数的类且虚函数没有实现,该类编译是可以通过的! 纯虚函数出现在接口类中,并赋值为0,不要为该函数分配函数地址,从而阻止类的实例化!纯虚函数是没有定义的,如果实现了也不是纯虚函数啦! 一般的成员函数可以只有声明,前提是在应用中不能调用该函数,否则会因找不到定义产生连接错误! 实例化类的虚函数必
2013-09-13 00:09:42
7364
1
转载 gcc编译源代码的4个阶段
在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。一、GCC快速入门Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out我们来看一下经典入门程序"Hello World!"# vi hello.c #include #include
2013-09-12 15:03:38
1038
转载 gcc编译之 编译阶段
编译程序的工作,从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的。但就其过程而言,它与人们进行自然语言直接的翻译有许多相近之处。当我们把一种文字翻译为另一种文字,例如把一段英文翻译为中文时,通常需经下列步骤:(1)识别出句子中的一个个单词;(2)分析句子的语法结构;(3)根据句子的含义进行初步翻译;(4)对译文进行修饰;(5)写出最后的译文。
2013-09-12 14:59:47
774
转载 C语言条件编译及编译预处理阶段
一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的机制
2013-09-12 14:47:22
582
转载 类的大小 2
以下的讨论都是在不用#pragma pack( num )下的结果,num表示以多少个字节对齐。初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的
2013-09-11 13:11:54
714
1
转载 类的大小。。。
class X{};class Y:public virtual X{};class Z:public virtual X{};class A:public Y,public Z{}; sizeof X:1 Y:4Z:4 A:8 类的实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样
2013-09-11 13:04:34
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人