文章分类 -  C++

C++ const 转
摘要:C/C++中const关键字详解 为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量:const类型说明符 变量名 常引用:const类型说明符 &引用名 常对象:类名const对象名 常成员函数:类名::fun(形参)const 常数组:类型说明符const数组名[大小] 常指针:const类型说明符* 指针名 ,类型说明符*const指针名首先提示的是:在常变量(const类型说明符 变量名)、常引用(const 阅读全文

posted @ 2013-11-05 14:59 荣锋亮 编辑

CView说明
摘要:CView是视图是程序设计中使用率最高的窗口对象,它是用户的主要操作界面。因为它通常以某种形式表示文档数据,所以称之为视图。一个视图对象只关联一个文档对象;一个文档对象可以关联多个视图,每个视图对象以不同形式表示文档数据。目 录1简介2关联对象3视图绘制4虚函数4.1OnUpdate4.2OnInitialUpdate()4.3PostNcDestroy4.4OnCmdMsg4.5OnActivateView5派生类1简介从文档类中将文档中的数据取出后显示给用户;接受用户对文档中数据的编辑和修改;将修改的结果反馈给文档类,由文档类将修改后的内容保存到磁盘文件中。文档负责了数据真正在永久介质中的 阅读全文

posted @ 2013-10-30 15:30 荣锋亮 阅读(734) 评论(0) 推荐(0) 编辑

CDocTemplate 使用
摘要:CDocTemplate是抽象的基类,它定义了文档模板的基本函数功能。通常通过应用的InitInstance函数来实现创建一或多个文档模板。文档模板定义了三个类之间的关系。·文档类由CDocument派生得到。·视图类显示文档类的数据,可从CView,CScrollView, CFormView或CEditView中派生得到(可直接使用CEditView)。·框架窗口类含有视图,对SDI应用,由CFrameWnd派生得到;对MDI,由CMDIChildWnd派生得到。如果无需定制框架窗口的行为,可直接使用CMDIChildWnd或CFrameWnd。应用对它支持的 阅读全文

posted @ 2013-10-30 11:53 荣锋亮 阅读(374) 评论(0) 推荐(0) 编辑

CWinApp 说明
摘要:目 录1概述1.1基本信息1.2注意2执行顺序3CWinApp类成员3.1数据成员3.2构造函数3.3操作符3.4可重载的函数3.5初始化3.6命令操作1概述基本信息CWinApp为应用程序类MFC 中的主应用程序类封装用于 Windows 操作系统的应用程序的初始化、运行和终止。基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象。在创建窗口之前先构造该对象。CWinApp 是从 CWinThread 派生的,后者表示可能具有一个或多个线程的应用程序的主执行线程。在最新版本的 MFC 中,InitInstance、Run、ExitInstance 和 OnIdle 成员函 阅读全文

posted @ 2013-10-30 11:30 荣锋亮 阅读(650) 评论(0) 推荐(0) 编辑

转 C++常用的类库
摘要:1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C ++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是一个实用的程序库、框架集,还是一个典范的设计模式应用范例,非常值得学习。2、GUI库:Qt 传统上Qt被认为是可移植的GUI库,但实... 阅读全文

posted @ 2013-10-11 20:59 荣锋亮 编辑

使用 libevent 和 libev 提高网络应用性能
摘要:简介许多服务器部署(尤其是 web 服务器部署)面对的最大问题之一是必须能够处理大量连接。无论是通过构建基于云的服务来处理网络通信流,还是把应用程序分布在 IBM Amazon EC 实例上,还是为网站提供高性能组件,都需要能够处理大量并发连接。一个好例子是,web 应用程序最近越来越动态了,尤其是使用 AJAX 技术的应用程序。如果要部署的系统允许数千客户端直接在网页中更新信息,比如提供事件或问题实时监视的系统,那么提供信息的速度就非常重要了。在网格或云环境中,可能有来自数千客户端的持久连接同时打开着,必须能够处理每个客户端的请求并做出响应。在讨论 libevent 和 libev 如何处理 阅读全文

posted @ 2013-10-11 11:33 荣锋亮 阅读(194) 评论(0) 推荐(0) 编辑

C语言集合的实现
摘要:C语言实现集合的交,并,差 作者:Raining_C 来源:http://blog.csdn.net/Raining_CN【问题描述】 编制一个能演示执行集合的并、交和差运算的程序 【基本要求】 (1)集合的元素限定为小写字母字符[ 'a'......'z' ] (2 )演示程序以用户和计算机对话的方式执行 【测试数据】【实现提示】 以有序链表表示集合 【代码过程】 1。先定义 集合的数据类型 notes.h //notes.h typedef struct LNode...{ ElemType data; LNode *next; }*Link, *Posit 阅读全文

posted @ 2013-10-10 17:36 荣锋亮 编辑

C 编程规范
摘要:目 录1 排版62 注释113 标识符命名184 可读性205 变量、结构226 函数、过程287 可测性368 程序效率409 质量保证4410 代码编辑、编译、审查5011 代码测试、维护5212 宏531 排版¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。¹1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni)){ ... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ 阅读全文

posted @ 2013-10-10 13:37 荣锋亮 编辑

jsonCpp
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 JsonCpp 是一个C++用来处理JSON 数据的开发包。面讲一下怎么使用 阅读全文

posted @ 2013-10-08 17:19 荣锋亮 编辑

C++的ORM 开源框架
摘要:YB.ORM库的目标是简化编写C++代码中处理SQL数据库。我们的目标是提供一个方便的接口,如SQLAlchemy的(蟒蛇)或休眠(JAVA)。库本身是跨平台的,支持各种SQL方言:sqlite3的,MySQL和Postgres的,甲骨文,和火鸟。集成升压,Qt4的,和wxWidgets 是内置的。在一个典型的使用场景中,你会形容你的数据库架构和表关系中的一个简单的基于XML的格式,生成SQL代码,以填充数据库架构的表,生成C + +类,添加特定于应用程序的逻辑类,使用这些类合作与会话对象从数据库中查询对象,创建新的或修改/删除现有对象,或链接和取消链接对象的关系。简单的序列化到XML的支持. 阅读全文

posted @ 2013-09-30 17:29 荣锋亮 编辑

拷贝构造函数
摘要:拷贝构造函数拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。1概述1.1调用拷贝构造函数的情形1.2隐式地拷贝构造函数2例述2.1复制初始化2.2对象按值传递3赋值重载3.1重载的必要性3.2重载的示例3.3重载的注意事宜4格式示例4.1拷贝构造函数的格式1概述调用拷贝构造函数的情形在C++中,下面三种对象需要调用拷贝构造函数(有 阅读全文

posted @ 2013-09-29 08:46 荣锋亮 编辑

C++ 线程处理
摘要:在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:● l 并发● l 异步● l 缓存1任务队列1.1 以生产者-消费者模型设计任务队列生产者-消费者模型是人们非常熟悉的模型,比如在某个服务器程序中,当User数据被逻辑模块修改后,就产生一个更新数据库的任务(produce),投递给IO模块任务队列,IO模块从任务队列中取出任务执行sql操作(consume)。设计通用的任务队列,示例代码如下:详细实现可参见:http://ffown.googlecode.com/svn/trunk/fflib/include/detail/tas 阅读全文

posted @ 2013-09-28 11:32 荣锋亮 编辑

转STL学习
摘要:STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开发,它是与C++几乎同时开始开发的;一开始STL选择了Ada作为实现语言,但Ada有点不争气,最后他们选择了C++,C++中已经有了模板。STL又被添加进了C++库。1996年,惠普公司又免费公开了S 阅读全文

posted @ 2013-09-28 11:30 荣锋亮 编辑

c++ 模板分离
摘要:关于c++中类的模板,惯常的用法都是把实现和定义放在头文件里了事。这样的问题是,加大了头文件的长度,减低了模板代码的可读性,还有就是破坏了面向对象的隐藏实现的规则。下面就是这种问题的两个解决方案的总结。假设模板代码如下: 1 // 模板定义 a.h 2 #include 3 4 template 5 class TTEST 6 ...{ 7 private: 8 tType i ; 9 public:10 void output();11 } ;12 13 // 模板实现 a.cpp14 #include "a.h"15 16 template17 void TTEST:: 阅读全文

posted @ 2013-09-28 10:02 荣锋亮 编辑

导航