随笔分类 - [30]C++
-
duilib程序--HelloWorld
摘要:duilib是一个windows下的皮肤库,用win32写的。。。先看个效果图吧:要使用duilib库,必须先把库导入,代码如下: 1 #include "xxx\UIlib.h" //xxx为UIlib.h的路径 2 using namespace Duilib; //Duilib为库自定义的名字空间 3 4 #ifdef _DEBUG 5 #ifdef _UNICODE 6 #pragma comment(lib, "xxx\Duilib_ud.lib") 7 #else 8 #pragma comment(lib, "xxx\Duilib 阅读全文
-
《Effective C++》读书摘要
摘要:《Effective C++》读书摘要最近刚读完侯捷的《Effective C++》,相对来说,这本书的内容比较贴近基础,对于刚掌握C++基础的人会有不少的提高。不过书中还是涉及了不少C++的高级特性,阅读起来需要查阅相关的资料。书中给出了大量的示例和代码来说明具体规则的原理,我按照书中给出的标题将每个条目的关键内容整理如下。一方面是保留一份读书笔记,另一方面也是为了方便日后查阅方便。当然,如果不能从简单摘要的内容回忆起具体信息,到时再查书也不迟。同时也期望大家能从中找到自己没有注意的知识点,有所提高,大牛勿喷~☺。(一)、让自己习惯C++一、C++语言联邦多重范型编程语言:过程式、面向对象式 阅读全文
-
陌生的C++关键字
摘要:学过程序语言的人相信对关键字并不陌生。偶然间翻起了《C++ Primer》这本书,书中列举了所有C++的关键字。我认真核对了一下,竟然发现有若干个从未使用过的关键字。一时间对一个学了六年C++的自己狠狠鄙视了一番,下决心一定要把它们搞明白!图1红色字体给出的是我个人感觉一般大家都会比较陌生的关键字,下边我们逐个学习。图1 C++关键字一、typeid从名字直观看来,该关键字应该是获取语言元素的类型ID。其实它和sizeof类似,是一个类型运算符。有时候代码可能需要获取某个变量或者类型的名字,这时候使用typeid就比较合适。使用格式:typeid(int)或typeid(i+1)这样操作后返回 阅读全文
-
使用beetle简单地实现高效的http基础服务
摘要:之前的章节里已经讲述了Beetle对不同应用协议的扩展和处理,在这章会讲解Beetle实现一个比较通用的应用协议HTTP扩展.组件对于HTTP协 议的扩展也是一件非常简单的事情,同时也能得到组件出色的性能和稳定性所支持.不过在实现之前必须对HTTP协议组成部分有个大概的了解.HTTP协议主 要由两大部分组件分别是消息头和消息体,消息头是必须的有于描述获取相关内容和附带的一些属性如:GET /images/logo.gif HTTP/1.1,通过回车换行符来标记消息头结束.对于消息休则是可选的如果存在消息体必须在消息头里标识Content-Length.对于HTTP 更详细的内容可以查看http 阅读全文
-
玩转位图(bitmap)
摘要:玩转位图(bitmap)这是别人的网页版。http://photo2text.com/乔帮主年前加入一个项目小组,只要是做图像处理的软件,组内分配第一个任务便是熟悉位图。http://www.cnblogs.com/daoluanxiaozi/tag/MFC%E5%B0%8F%E9%A1%B9%E7%9B%AE/,但后来不知道为什么,没有呆下去。大三刚开学的时候,@杨海坡 换了个QQ头像,大致的效果如下(原图见about页面):图片中有小小的方块,每个方块内对应一个字符。YY下,结合对位图的了解,可以动手实现,“这个可以有”。png,jpg,gif等都不懂,所以从位图下手,来实现图片的处理。思 阅读全文
-
C++文件依存关系
摘要:如果现在你做的C++项目(课题)包含的文件没有超过1000个,你可以选择略过此文,不过建议继续浏览。如果你觉得重新编译文件的时间很短或者时间长一点无所谓,反正需要重新编译,那么你也可以选择略过此文,不过也建议浏览。如果你想学习或者关心这块内容,那么此文必定会给你带来收获。首先我不给出依存关系的定义,我给出一个例子。 1 class Peopel{ 2 public: 3 People(const std::string & name,const Date& brithday,Image Img) 4 std::string name( ) const; 5 Date b... 阅读全文
-
C++ test
摘要:1、最好不要使用引用返回值有同学在传递的参数的时候使用引用方式传递,避免了临时对象的创建,提高了效率,那么在返回值的时候能不能使用引用呢?看如下代码 class Rational{ public: Raional( int numerator = 0, int denominator =1); ... private: int d, d; friend Rational operator* (const Rational& lhs, const Raional& r... 阅读全文
-
C++你可能不知道地方
摘要:c++中编译器替我们完成了许多事情,我们可能不知道,但也可能习以为常。下面详细介绍一、初始化与初始赋值首先说说类的初始化与初始赋值之前的区别,这也许里面可能有我们不知道的事情。 其实类初始化与初始赋值还是有区别的。 1 class People{ 2 public: 3 People(std::string name,int age,int height); 4 private: 5 std::string m_sName; 6 int m_iAge;... 阅读全文
-
当Visual Studio中win32控制台应用程序的注释也会生产代码时……
摘要:今天在VS2008中发现了超级令人抓狂的问题,经试验发现在VS2010中有同样的问题存在。重现问题——在VS2008中新建C++的“win32控制台应用程序”项目,并添加对MFC类库的引用。在_tmain函数前加上如图所示的注释,然后在主函数中随便写上几句代码,并设置断点,整个代码如图。最后在debug模式下,按F5运行,结果,程度在第二个断点处没有停住,而是直接运行过去!!经过反复的试验——包括删除ncb文件,重启VS,重启电脑……忽然想到《Exceptional C++ Style》中有提到注释可能对代码产生影响,比如 “//?” 会被转换成 “\”,结果使第二行代码失效了!!难道这里也是 阅读全文
-
Beetle可靠、高性能的.Net Socket Tcp通讯组件 支持flash amf3,protobuf,Silverlight,windows phone
摘要:smarkBeetle可靠、高性能的.Net Socket Tcp通讯组件 支持flash amf3,protobuf,Silverlight,windows phoneBeetle简单构建TCP服务 使用Beetle构建TCP服务应用是件非常简单的事情,它并不需要你去关注Socket细节,如果你想用Socket编写高性能的TCP服务,那你要关注的东西非常多,异步数据处理,大量连接下的线程管理和连接断相关资源处理等等复杂的事情;使用Beetle那以上的事情完全都可以不用关心,因为Beetle都已经帮你处理好.而你需要做的只需要简单的定义相关对象和绑定相关处理事件即可.以下是通过Beetle.. 阅读全文
-
gsoap使用方法总结
摘要:gsoap使用方法总结2012-09-20 20:00 by Chanx, 6 阅读,0评论,收藏,编辑1、 解压gsoap_2.8.10;2、 在目录\gsoap_2.8.10\gsoap-2.8\gsoap\bin\win32下3、 打开运行-》cmd-》cd到以上目录下;4、 wsdl2h -s -o test.hhttp://localhost:6968/WebServiceTest.asmx?WSDL 在win32 文件夹下 生成test.h5、 把gsoap->import里面的soap12.h 和stlvector.h复制到win32目录下6、 执行soapcpp2.exe 阅读全文
-
通用排行榜组件
摘要:简介:排行榜是游戏组件中必不可少的组件,设计一个可重用的排行榜是必不可少的,一个排行榜系统需要满足如下要求:排行榜一般是限制名次的,比如只为前100 名进行排名排行榜一般会有多种,比如等级排行榜、金币排行榜等有时排行榜需要定时更新,有时需要实时更新排行系统组件关系图:创建排行榜 rank_obj_mgr_t rank_obj_mgr; rank_system_t rank_system(&rank_obj_mgr); enum { LEVEL_RANK = 1 }; //! 等级排行榜, 排名前一百个 rank_system... 阅读全文
-
VS2010平台下的OpenCV、EmguCV( C#)安装、使用配置
摘要:OS:Win7旗舰版64位平台:VS2010旗舰版 x86安装包版本:OpenCV2.4.2 x86 下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.2/OpenCV-2.4.2.exe/download EmguCV2.4.2 x86 下载地址:http://sourceforge.net/projects/emgucv/files/emgucv/2.4.2/libemgucv-windows-x86-gpu-2.4.2.1773.exe/downloadOpenCV:1. 解压为了便于... 阅读全文
-
C和C++
摘要:别的学校什么情况我不清楚,但是在我们学校是大一上学期就学了C语言,大一下学期就学了C++。那个时候刚进入软件学院呐,哪里搞的明白什么C/C++,更别说C和C++有什么关系了,就是在不明白的情况下就开始乱用了,也就顺理成章的出现了这样的情况:大家写出来的程序看不明白是C还是C++,于是我们就开玩笑的说他们编的都是“C+”程序。最近也看到了也总有人在面试上问:C和C++有什么区别??于是乎,那就写一篇随笔吧~~~希望大家帮忙补充哦~~~区别一:首先,必须要提及的是我是ACM出身,搞了一年半和教练%¥#¥#%#¥~~~(呵呵,不说了~~),也就是说,我最初接触到的是面向过程的思想,很显然了,我的编程 阅读全文
-
C++学习的方法以及四大名著
摘要:转眼间学习和使用C++已经有近10个年头了,开始学习的时候走了不少的弯路,今天有些时间,希望写下这篇文章并且对开始学习C++的朋友有些帮助。当然我首先需要说明的是,这篇文章是根据本人的感受写的,可能不同的人有不同的观点,欢迎讨论。开始学习C++的时候中国的互联网环境还不是很好,信息也比较闭塞,所以自己开始的时候是由Thinking in C++开始的,买了两卷本的英文版,废了好大的一番周折才算看完了,这个过程大约花费了近6个月的时间,当然期间也要花时间完成学业。后来就有这个根基开始了不断的写代码,做ACM的题,渐渐开始了C++真正的旅程。时至今天我发现,其实这个过程可以更轻松,只要有过来人稍微 阅读全文
-
移植Java代码到C++
摘要:二、字符串对象(string vs String): 在Java的代码中,我们经常会看到这样一种写法,相信几乎每一个Java程序员都有过这样的代码,因此他看上去非常熟悉,甚至还带有一点儿亲切感。1 public String getName() {2 return name;3 } 这样的代码在Java中确实司空见惯,也无可厚非,因此对于我们来说没有太多可以讨论的空间,除非你非常希望了解JVM中对象常量池的概念,然而它并不是我们这个条目中将要讨论的主题。 那么现在让我们来看一下在C++中又是如何处理此类问题的,下面将列举出三种最常用的实现方式。 方法一: 直... 阅读全文
-
Home of the MinGW and MSYS Projects
摘要:http://www.mingw.org/MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.MinGWprovides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, an 阅读全文
-
FFLIB 多进程并发框架
摘要:FFLIB 多进程并发框架三年来一直从事服务器程序开发,一直都是忙忙碌碌,不久前结束了职业生涯的第一份工作,有了一个礼拜的休息时间,终于可以写写总结了。于是把以前的开源代码做了整理和优化,这就是FFLIB。虽然这边总结看起来像日记,有很多废话,但是此文仍然是有很大针对性的。针对服务器开发中常见的问题,如多线程并发、消息转发、异步、性能优化、单元测试,提出自己的见解。面对的问题 从事开发工程中,遇到过不少问题,很多时候由于时间紧迫,没有使用优雅的方案。在跟业内的一些朋友交流过程中,我也意识到有些问题是大家都存在的。简单列举如下:多线程与并发异步消息/接口调用消息的序列化与Reflection性能 阅读全文
-
一个简单的Windows Socket可复用框架
摘要:说起网络编程,无非是建立连接,发送数据,接收数据,关闭连接。曾经学习网络编程的时候用Java写了一些小的聊天程序,Java对网络接口函数的封装还是很简单实用的,但是在Windows下网络编程使用的Socket就显得稍微有点繁琐。这里介绍一个自己封装的一个简单的基于Windows Socket的一个框架代码,主要目的是为了方便使用Windows Socket进行编程时的代码复用,闲话少说,上代码。熟悉Windows Socket的都知道进行Windows网络编程必须引入头文件和库:#pragmaonce/********************公用数据预定义******************* 阅读全文
-
Effective C++ 类与函数的设计和申明
摘要:Effective C++ 类与函数的设计和申明在看《Effective C++》这本书的过程中,我无数次的发出感叹,这他妈写得太好了,句句一针见血,直接说到点上。所以决定把这本书的内容加上自己的理解写成5篇博客,我觉得不管你是否理解这些条款,都值得你先记下来。下面的索引对应的是书中的章节。18:努力让接口完美且最小化19:区分member functions,non-member functions和friend functions三者20:避免将data member放在公开接口中21:尽量使用const22:尽量使用 pass-by-refernece,少用pass-by-value18 阅读全文