c/c++
文章平均质量分 68
爱在一毛钱
这个作者很懒,什么都没留下…
展开
-
为什么C++不能有虚构造函数,却可以有虚析构函数
class B{ public : virtualvoid m1(); virtualvoid m2(); }; class D : public B{ virtualvoid m1(); } C++的动态绑定使用vtable(虚成员函数表)来实现。vtable支持运行时查询,使系统可以将某一函数名绑转载 2013-07-31 17:14:18 · 749 阅读 · 0 评论 -
服务端框架之mysql分析
#ifndef CCDATABASEAIDE_H_#define CCDATABASEAIDE_H_#include "CSYSType.h"#include #include #include "CGFConfig.h"#include "CMutex.h"#define DB_NET_ERROR (1)#define DB_USER_ERROR (2)class原创 2015-03-13 17:54:19 · 524 阅读 · 0 评论 -
服务器框架NetworkModel分析单例
/******************************************************************Description: 单件******************************************************************/#ifndef _CEGUISingleton_h_#define _CEGUISingl原创 2015-03-03 14:51:55 · 372 阅读 · 0 评论 -
c++可变长度结构体串行化&解析数据
struct CMD_GF_LandlordGameOver{ std::vector dwkindlist; //三个玩家的输赢情况,0,输,1赢 std::vector dwllscorelist; //三个玩家的输赢数(不计台费) CMD_GF_LandlordGameOver(){} DT_DWORD Write(char *buf) { char *p =原创 2014-12-03 16:54:14 · 1503 阅读 · 0 评论 -
转码
void CharToUTF8(const char* szSource, char* szDes ,WORD wDesLen){ int len = MultiByteToWideChar(CP_ACP,0,szSource,-1,NULL,0); wchar_t* wszUtf8 = new wchar_t[len + 1]; memset(wszUtf8,0,len*2+2); M原创 2014-06-12 16:56:33 · 415 阅读 · 0 评论 -
简单的加密算法
简介:这几天在我们 vc驿站-www.cctry.com 上面看到一位网友发了一篇关于加密IPv4字符串的提问帖子,被我看到了。帖子地址:http://www.cctry.com/thread-238356-1-1.html简单与楼主沟通了之后,了解了加密的原理,感觉还不错,简单实用。于是就用C语言实现了这个加密的算法,有加密就得有解密,于是顺便也把解密的算法给写出来了,这里面跟大转载 2014-06-10 17:35:11 · 1102 阅读 · 0 评论 -
Windows socket之Select模型开发
套接字select模型是一种比较常用的IO模型。利用该模型可以使Windows socket应用程序可以同时管理多个套接字。 使用select模型,可以使当执行操作的套接字满足可读可写条件时,给应用程序发送通知。收到这个通知后,应用程序再去调用相应的Windows socket API去执行函数调用。 Select模型的核心是转载 2014-05-26 11:33:29 · 408 阅读 · 0 评论 -
c ++的operator的两种用法
operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。 1.operator overloadingC++可通过operator 重载操作符,格式如下:类型T operator 操作符 (),如比重载+,如下所示templateclass A{public: c转载 2014-06-26 14:29:42 · 614 阅读 · 0 评论 -
Server
// Server.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;#pragma comment(lib,"ws2_32.lib") vector socketArry(10,0);int initWSA(){ WSADATA wsaData;原创 2014-05-02 10:19:19 · 500 阅读 · 0 评论 -
#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。#pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。#pragma pack (push,1) 作用:是指把原来对齐方式设置压转载 2014-05-02 20:25:23 · 571 阅读 · 0 评论 -
Client
// Client.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;#pragma comment(lib,"ws2_32.lib")int initWSA(){ WSADATA wsaData; if(0!=WSAStartup(MAKEW原创 2014-05-02 10:18:00 · 690 阅读 · 0 评论 -
设置二进制
第n位置1number |= 1 第n位置反:number ^= 1 检测第N位是否为1bit = number & (1 清除第n位:number &= ~(1 << n);转载 2014-03-18 10:51:33 · 419 阅读 · 0 评论 -
字符编码笔记:ASCII,Unicode和UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望转载 2013-10-21 11:31:42 · 459 阅读 · 0 评论 -
位操作基础篇之位操作全面总结
Title: 位操作基础篇之位操作全面总结Author: MoreWindowsE-mail: morewindows@126.comKeyWord: C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大转载 2013-08-05 10:49:02 · 498 阅读 · 0 评论 -
重载(overload)和重写(overried)
重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别? 答:常考的题目。从定义上来说: 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 重写:是指子类重新定义父类虚函数的方法。 从实现原理上来说: 重载:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(原创 2013-08-01 15:30:54 · 618 阅读 · 0 评论 -
static 的作用
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想转载 2013-08-01 15:25:20 · 460 阅读 · 0 评论 -
函数能否是虚函数又是内联函数
在CSDN上看到一个帖子,有个人提出了一个问题,下面贴出帖子的内容,个人感觉比较有意思不知道身为读者的您是否有没有类似上面两个问题的疑惑,首先应该向这位同学学习,可能有人说他肯定是个初学者,帖子中有很多这样的回复,类似说楼主死读书啊,不求甚解之列的,不乏攻击性。个人很鄙视这些人,因为其中的大部分人都在胡说八道,知其然不知其所以然,光是楼主的这份独立思考的态度就值得我们学习。好了,圆转载 2013-07-31 17:37:28 · 888 阅读 · 0 评论 -
静态存储区、堆和栈的区别
一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效转载 2013-07-31 16:42:21 · 489 阅读 · 0 评论 -
json
JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org/,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。 一转载 2016-01-07 14:31:13 · 473 阅读 · 0 评论