
----1.2 C++
呈叙墨客
这个作者很懒,什么都没留下…
展开
-
C++中关于new和delete的使用
最近一直在啃 C++ Primer 中文版第4版,发现 C++中new和delete应用遍布全书,现对其使用作简单总结。在C++中,可以使用new和delete动态创建和释放数组或者单个对象,现在对它们的使用一一道来。1.创建动态数组 数组类型的变量有三个重要的限制:数组长度固定不变,在编译时必须知道它的长度,数组只在定义它的块语句中存在。对于动态分配的数组,虽然长度是固转载 2014-09-18 14:52:45 · 519 阅读 · 0 评论 -
xml_document_slave_ti 读取UTF-8格式XML字符串无法解析
xml_document_slave_ti doc_slave;doc_slave.Parse(xml_src.c_str(), null, static_cast(coding));if (doc_slave.Error()){return false; //编码问题会导致,生成xml时编码方式改为UTF-8为GB2312则Parse成功。}doc.set_enc原创 2014-12-10 10:14:12 · 1168 阅读 · 0 评论 -
tinyxml的设计结构分析
tinyxml的设计结构分析关于tinyxml的剖析:下面是名为 example.xml的文档,后续的剖析都会以这个xml文档为例:example.xml(1)tinyxml把xml文档建立成一棵DOM(Document Object Model)树,具体实现用的是firstchild–nextsibling tree,下面是对该树的模型的一个简单介绍:转载 2014-12-02 11:10:53 · 622 阅读 · 0 评论 -
C++ explicit的作用
explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项: * explicit 关键字只能用于类内部的构造函数声明上。 * explicit 关键字作用于单个参数的构造函数。 * 在C++中,expli转载 2014-10-30 16:33:47 · 449 阅读 · 0 评论 -
static_cast, dynamic_cast, reinpreter_cast, const_cast (C++类型转换)详解
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;转载 2014-11-16 23:15:33 · 485 阅读 · 0 评论 -
C++ 单例模式
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做转载 2014-09-18 10:21:39 · 463 阅读 · 0 评论 -
C++:实现split分割字符串
#include #include #include using namespace std;void split(const string& src, const string& separator, vector& dest){ string str = src; string substring; string::size_typ转载 2014-10-10 14:08:19 · 567 阅读 · 0 评论 -
error C2143: syntax error : missing ';' before '<class-head>'
某个头文件中的函数或者结构体声明忘加分(';')号的原因,应该仔细检查。原创 2014-10-27 12:47:06 · 3699 阅读 · 0 评论 -
设计模式C++实现(1)——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创转载 2014-10-02 22:15:39 · 706 阅读 · 0 评论 -
设计模式C++实现(5)——原型模式、模板方法模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍原型模式和模板方法模式的实现。首先介绍原型模转载 2014-10-24 00:55:48 · 517 阅读 · 0 评论 -
C++中Static作用和使用方法
1、什么是static?static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static?函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一转载 2014-09-24 21:01:35 · 487 阅读 · 0 评论 -
C++拷贝构造函数详解
脚踏实地,仰望星空目录视图摘要视图订阅7月推荐文章汇总Android 精彩案例【独具慧眼 推荐有礼】找出您心中的技术大牛 博文大赛获奖名单公布 关注社区微信得下载分C++拷贝构造函数详解分类: C/C++2011-02-23 13:3942656人阅读评论(97)收藏举报c+转载 2014-08-17 14:00:06 · 457 阅读 · 0 评论 -
C++常成员函数 - const 关键字
一、常成员函数详解声明:函数名(参数表)const;说明:(1)const是函数类型的一部分,在实现部分也要带该关键字。(2)const关键字可以用于对重载函数的区分。(3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数。A、通过例子来理解const是函数类型的一部分,在实现部分也要带该关键字。class A{pr转载 2014-09-22 23:15:14 · 508 阅读 · 0 评论 -
CString to int
CString str = _T("123");int i = _ttoi(str);int i = 123;CString str ;str.Format(_T("%d"), i);原创 2014-09-19 17:26:06 · 526 阅读 · 0 评论 -
VC++中delete和delete [] 的区别
我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码:int *a = new int[10];delete a; //方式1delete [] a; //方式2肯定会有很多人说方式1肯定存在内存泄漏,是这样吗?1. 针对简单类转载 2014-09-18 21:41:13 · 504 阅读 · 0 评论 -
C++ 初始化列表
C++ 初始化列表何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int转载 2014-08-22 11:44:22 · 676 阅读 · 0 评论 -
MFC消息映射与命令传递
DECLARE_MESSAGE_MAP宏在 MFC 几乎每个头文件下(类的最后一行声明),都会有这么几行代码:// 生成的消息映射函数protected:DECLARE_MESSAGE_MAP()我们看一看 DECLARE_MESSAGE_MAP到底为何物,查看 DECLARE_MESSAGE_MAP源码(c:\Program Files\Micro转载 2015-06-18 20:02:25 · 665 阅读 · 0 评论