05 2014 档案

摘要:class B;struct A{ B* ptr;};class B{public:};int main(){ return 0;}A中定义了B的指针,所以要声明class B,在定义处于不完整类型之前,只能使用类的指针或者引用,在定义B之前是不能调用B的成员的。好像还有一些细节。 阅读全文
posted @ 2014-05-31 22:51 zzyoucan 阅读(344) 评论(0) 推荐(0) 编辑
摘要:前几天真是累毁了,这几天好好休息一下 阅读全文
posted @ 2014-05-31 10:50 zzyoucan 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-05-29 01:46 zzyoucan 阅读(147) 评论(0) 推荐(0) 编辑
摘要:暂时用了c++builder xe6之后才VS 2012多么好,builder安装文件5G多,见过最大的安装文件,而且要求c盘要求有25G剩余空间,还好的我的c盘100G,等装好之后操作真是lj,各种不方便,经理说c++ builder相比MFC一个是汽车一个是自行车,我是真没有感觉到哪儿好。或许有... 阅读全文
posted @ 2014-05-28 22:40 zzyoucan 阅读(145) 评论(0) 推荐(0) 编辑
摘要:struct shareDataEx : shareData{ int index; int total_size;};typedef managed_shared_memory::segment_manager segment_manager_t; //段管理器type... 阅读全文
posted @ 2014-05-28 01:14 zzyoucan 阅读(1963) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include using namespace std;int main(){ //boost::interprocess::shared_memory_object类是按照单个字节的方式读写共享内存,用起来不方便 boost::i... 阅读全文
posted @ 2014-05-27 23:51 zzyoucan 阅读(2211) 评论(0) 推荐(0) 编辑
摘要:#include #include using namespace std;int main(){ int pid = GetCurrentProcessId(); auto path = Plug::GetCurrentPath();//返回std::wstring path +... 阅读全文
posted @ 2014-05-27 22:49 zzyoucan 阅读(190) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std;int main(){#if 1 int num = 12345; char str[25];//不要写成char*,因为没有分配空间 itoa(num, str, 10);//10进制字符串 printf("num ... 阅读全文
posted @ 2014-05-27 22:15 zzyoucan 阅读(230) 评论(0) 推荐(0) 编辑
摘要:#include #include struct pos2d{ int x; int y;};using namespace std;int main(){ //boost::interprocess::shared_memory_object类是按照单个字节的方式读写共享内存,用... 阅读全文
posted @ 2014-05-27 21:17 zzyoucan 阅读(872) 评论(0) 推荐(0) 编辑
摘要:自从装了64位新系统,每次开机我都很高兴,因为比原来快了好几倍,以前装个oracle,sql server,电脑成卡的一B,现在就有个mongo,真爽。再加换了一个新鼠标真是如虎添翼。 阅读全文
posted @ 2014-05-26 22:34 zzyoucan 阅读(108) 评论(0) 推荐(0) 编辑
摘要:1 前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent是用c语言编写的(MS大牛们都偏爱c语言哪),而且... 阅读全文
posted @ 2014-05-25 23:08 zzyoucan 阅读(910) 评论(0) 推荐(0) 编辑
摘要:client.cpp// App02.cpp : 定义控制台应用程序的入口点。//#include #include #include #include #include #include #include #ifndef WIN32#include # ifdef _XOPEN_SOURCE_EX... 阅读全文
posted @ 2014-05-25 23:06 zzyoucan 阅读(594) 评论(0) 推荐(0) 编辑
摘要:很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。比如说,写入数据的时候,通常的运行模式是:l决定要向连接写入一些数据,把数据放入到缓冲区中l等待连接可以写入l写入尽量多的数据l记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入这种缓冲IO模式很通用,libevent为此提供了一... 阅读全文
posted @ 2014-05-25 14:25 zzyoucan 阅读(512) 评论(0) 推荐(0) 编辑
摘要:这个plug组件不知到底是什么东西,不知何com组件什么区别#include #include #include "D:\HELL0\I_HELL0.h"using namespace std;int main(){ INIT_PLUG I_HELL0* tf = NEW(HELL0);... 阅读全文
posted @ 2014-05-24 01:06 zzyoucan 阅读(209) 评论(0) 推荐(0) 编辑
摘要:#include #include using namespace std;//使用宽字符,我猜是为了适应那些要使用宽字符的国家int main(){ auto path = Plug::GetCurrentPath();//返回std::wstring宽字符 std::wstring ... 阅读全文
posted @ 2014-05-23 23:30 zzyoucan 阅读(2263) 评论(0) 推荐(0) 编辑
摘要:·C语言相关 对应于char, C语言中也有宽字符内型wchar_t。wchar_t被定义为:typedef unsigned shortwchar_t;显然它是16位的。wchar_t类型的常字串应该这样写:L"hello"。因此可以这样定义一个宽字符指针wchar_t *pwc=L"hello... 阅读全文
posted @ 2014-05-23 23:07 zzyoucan 阅读(1513) 评论(0) 推荐(0) 编辑
摘要:NULL、0、nullptrC的NULL在C语言中,我们使用NULL表示空指针,也就是我们可以写如下代码: int *i = NULL;foo_t *f = NULL; 实际上在C语言中,NULL通常被定义为如下: #define NULL ((void *)0) 也就是说NULL实际上是一个voi... 阅读全文
posted @ 2014-05-23 22:24 zzyoucan 阅读(408) 评论(0) 推荐(0) 编辑
摘要:今天真是坑啊,vs下配置mongo,搞了半天老是提示一个无法打开.lib的链接错误,结果最后发现是编译器选项少了一个BOOST_ALL_NO_LIB,又被坑了,最不喜欢,为了编译或者装个什么东西,搞个word文档在那配置,完全不懂到底在那干什么,原来在linux上装Oracle,搞了一两个星期,到最... 阅读全文
posted @ 2014-05-22 00:12 zzyoucan 阅读(135) 评论(0) 推荐(0) 编辑
摘要:windows下编译mongo终于可以了,终于生成了mongoclient.lib,耗了我这么长时间,接下来还有vs配置 阅读全文
posted @ 2014-05-20 23:57 zzyoucan 阅读(98) 评论(0) 推荐(0) 编辑
摘要:c++指针只能说博大精深,在用的时候感觉好晕1.指针类型转换/*在指针的强制类型转换:ptr1=(TYPE*)ptr2中,如果sizeof(ptr2的类型)大于sizeof(ptr1的类型),那么在使用指针ptr1来访问ptr2所指向的存储区时是安全的。如果sizeof(ptr2的类型)小于size... 阅读全文
posted @ 2014-05-17 00:45 zzyoucan 阅读(352) 评论(0) 推荐(0) 编辑
摘要:1.基础知识/*可以定义大小是0的数组,但不能引用,因为没有指向任何对象new string[10]调用类的默认构造函数new int[10]没有初始化,但new int[10]()会将数组初始化成0,返回第一个元素的首地址*/#include #include using namespace st... 阅读全文
posted @ 2014-05-16 22:28 zzyoucan 阅读(355) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std;struct MyStruct{ int s;};int main(){ void* addr = new MyStruct;//缓冲区地址,大小为mysturct的大小 int * naddr = new (addr)in... 阅读全文
posted @ 2014-05-16 00:42 zzyoucan 阅读(215) 评论(0) 推荐(0) 编辑
摘要:1.sprintf,sprintf_ssprintf(char* buffer, const char* format, [argument]);vs下需要加上_CRT_SECURE_NO_WARNINGS#include using namespace std;int main(){ cha... 阅读全文
posted @ 2014-05-15 23:01 zzyoucan 阅读(185) 评论(0) 推荐(0) 编辑
摘要:也许是由于生活很艰辛,大家都疲于奔命,而没有去思考自己是否生于一个正常的国度,而且认为一切都很正常平静,努力的提高自己,然后改变自己,然后更加的疲于奔命,我相信大多数人都是这种状态。 阅读全文
posted @ 2014-05-15 21:15 zzyoucan 阅读(103) 评论(0) 推荐(0) 编辑
摘要:std::vector > level_info_vec; i->load_level_info(level_info_vec); ActorLevelInfo levelInfo = {0}; levelInfo = level_info_vec[0][1]; //int userID = 10... 阅读全文
posted @ 2014-05-14 21:38 zzyoucan 阅读(295) 评论(0) 推荐(0) 编辑
摘要:UserInfo uinfo = {0}; uinfo.userID = 5555; strcpy(uinfo.userName, "UserHost5555"); strcpy(uinfo.userPwd, "123456"); i->addUser_(uinfo); ... 阅读全文
posted @ 2014-05-14 11:26 zzyoucan 阅读(162) 评论(0) 推荐(0) 编辑
摘要://doc_anonymous_mutex_shared_data.hpp#include struct shared_memory_log{ enum { NumItems = 100 }; enum { LineSize = 100 }; shared_memory_log()... 阅读全文
posted @ 2014-05-14 01:45 zzyoucan 阅读(1889) 评论(0) 推荐(0) 编辑
摘要:发送端:#include #include #include using namespace std;#include #include #include using namespace boost::interprocess;int num = 0;mapped_region *mp_r;void... 阅读全文
posted @ 2014-05-13 21:16 zzyoucan 阅读(611) 评论(0) 推荐(0) 编辑
摘要:#include #include #include using namespace std;void funa(int arg1, string arg2){ cout fun; fun = std::bind(&funa, std::placeholders::_1, std::p... 阅读全文
posted @ 2014-05-11 22:10 zzyoucan 阅读(154) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #include #include #include #include #include #include using namespace std;struct MyStruct{ string stru; int ... 阅读全文
posted @ 2014-05-11 18:41 zzyoucan 阅读(3097) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-05-11 14:02 zzyoucan 阅读(513) 评论(0) 推荐(0) 编辑
摘要:stringstream本身的复制构造函数是私有的,无法直接用,于是带来了一些复杂的问题网上,流传着几种办法,如streamA.str(streamB.str()),但这种办法,复制的仅仅是初始化时的string会在以下这种情况下暴露出问题: stringstream s1("123aaa")... 阅读全文
posted @ 2014-05-11 11:13 zzyoucan 阅读(279) 评论(0) 推荐(0) 编辑
摘要:在编写应用程序时,我们经常要使用到字符串。C++标准库中的和为我们操作字符串提供了很多的方便,例如:对象封装、安全和自动的类型转换、直接拼接、不必担心越界等等。但今天我们并不想长篇累牍得去介绍这几个标准库提供的功能,而是分享一下stringstream.str()的一个有趣的现象。我们先来看一个例... 阅读全文
posted @ 2014-05-11 10:49 zzyoucan 阅读(390) 评论(0) 推荐(0) 编辑
摘要:转义字符:不可打印的和特殊意义的字符如单引号、双引号和反斜线,那这样的字符如何表示呢,就是转义字符换行符 \n 水平制表符\t纵向制表符 \v 退格符 \b回车符 \r 进纸符 \f报警(响铃)符 \a 反斜线 \\疑问号 \? 单引号 \'双引号 \"如何字符都可以转换成转义字符的格式\ooo--... 阅读全文
posted @ 2014-05-10 00:43 zzyoucan 阅读(841) 评论(0) 推荐(0) 编辑
摘要:1.把一个 const 对象的地址赋给一个普通的、非 const 对象的指针也会导致编译时的错误:const double pi = 3.14;double *ptr = π // error: ptr is a plain pointerconst double *cptr = π /... 阅读全文
posted @ 2014-05-09 02:08 zzyoucan 阅读(174) 评论(0) 推荐(0) 编辑
摘要:const string &shorterString(const string &s1, const string &s2){return s1.size() < s2.size() ? s1 : s2;}inline const string &shorterString(const strin... 阅读全文
posted @ 2014-05-09 00:53 zzyoucan 阅读(286) 评论(0) 推荐(0) 编辑
摘要:这个是c++很基础的东西,等用到时又有点晕,翻开primer/*1.static不能声明成const和虚函数2.const static可以初始化,但还是需要在类外定义3.类的static必须定义,并且在类外定义,把内存分配在静态存储区,如果只声明不定义出现无法解析的外部命令我猜是他是在编译时期分配... 阅读全文
posted @ 2014-05-09 00:09 zzyoucan 阅读(195) 评论(0) 推荐(0) 编辑
摘要:map坐标:将像素坐标划分成40*30的格子的坐标像素坐标:这个就是图片的那个坐标block坐标:就是屏幕划分成3*3的坐标,这个还得看看。当从A点移动到B点时,红色的就是离开的区域,蓝色的是进去的区域,着两个区域都是需要通知的。这里的是block坐标,一个客户端屏幕会被划分成3*3屏幕,听经理说这... 阅读全文
posted @ 2014-05-07 23:59 zzyoucan 阅读(164) 评论(0) 推荐(0) 编辑
摘要:一、C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。 1、C++标准函数库提供一随机数... 阅读全文
posted @ 2014-05-07 15:03 zzyoucan 阅读(1953) 评论(0) 推荐(0) 编辑
摘要:1. 什么是bsonBSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Pro... 阅读全文
posted @ 2014-05-05 19:17 zzyoucan 阅读(4231) 评论(0) 推荐(0) 编辑
摘要:先画个大概的,思路先理清一下,细节还有很多。这个是服务器比较关键的。其实是只要和地图有关的,GS线程直接扔给map里面,然后接收响应的数据,感觉GS像个桥梁的作用。 阅读全文
posted @ 2014-05-05 01:47 zzyoucan 阅读(156) 评论(0) 推荐(0) 编辑
摘要:m_spNPC = NEWSP(NPC);//NPC加载,如怪物等m_spNPC->setFT(m_spTimerFactory.get());//共享Map中的定时器,让Map线程来驱动。m_spNPC->setMapPtr_NPC(this);//一定要先调用地图看到这个代码让我蛋疼一把,搜了一... 阅读全文
posted @ 2014-05-05 00:41 zzyoucan 阅读(287) 评论(0) 推荐(0) 编辑
摘要:boost::lexical_cast为数值之间的转换(conversion)提供了一揽子方案,比如:将一个字符串"123"转换成整数123,代码如下:string s = "123"; int a = lexical_cast(s); 这种方法非常简单,笔者强烈建议大家忘掉std诸多的函数,直接... 阅读全文
posted @ 2014-05-04 23:28 zzyoucan 阅读(425) 评论(0) 推荐(0) 编辑
摘要:try{ INIT_PLUG I_MongoDB* i = NEW(MongoDB); /*【注】 若自定义错误消息的数组长度必需指定为MAX_ERROR_SIZE*/ //char errmsg[MAX_ERROR_SIZE]={0};//方式一 ... 阅读全文
posted @ 2014-05-04 19:44 zzyoucan 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-05-04 01:26 zzyoucan 阅读(133) 评论(0) 推荐(0) 编辑
摘要:在看项目代码时,发现有个调用,明明调用的函数基类的,搞不懂为什么会调用到派生类的,这是个虚函数,我想肯定是指针的问题,我又想到了是绑定时候的问题thrTransData::thrTransData(){ m_spTimerFactory = NEWSP(TimerFactory); ne... 阅读全文
posted @ 2014-05-03 22:54 zzyoucan 阅读(166) 评论(0) 推荐(0) 编辑
摘要:// Test.cpp : 定义控制台应用程序的入口点。//#include "../I_Timer.H"#include void onTimer1(){ std::cout createTimer();#if 1 auto myTimer1 = /*Timer::createTime... 阅读全文
posted @ 2014-05-02 23:30 zzyoucan 阅读(490) 评论(0) 推荐(0) 编辑
摘要:个线程都有一个唯一的 ID 以识别不同的线程,std:thread 类有一个 get_id() 方法返回对应线程的唯一编号,你可以通过 std::this_thread 来访问当前线程实例,下面的例子演示如何使用这个 id:#include #include #include void hello... 阅读全文
posted @ 2014-05-02 16:01 zzyoucan 阅读(475) 评论(0) 推荐(0) 编辑
摘要:GameServer以前访问DBcenter时同步的,这样服务器都要等待DBcenter返回结果,经理在DBcenter和GameServer之间加了一个asynDBCenter,就实现了异步,感觉还是很复杂,当然经理就20分钟搞定的事,主要函数:bool asynDBCenter::get_fro... 阅读全文
posted @ 2014-05-02 00:05 zzyoucan 阅读(350) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示