
C++
科喜软件
我们致力于软件开发!
展开
-
make include
makefile文件里头必须要有第一个target,target定格或则空格,但不能[tab],说有的规则必须[tab]否则错误如下:*** 遗漏分隔符*** commands commence before first target。 停止。原创 2011-10-16 03:58:06 · 878 阅读 · 0 评论 -
结构体成员变量的偏移值
1、windows平台下有offsetof宏可以求得结构体成员变量便宜,源码如下:/* Define offsetof macro */#ifdef __cplusplus#ifdef _WIN64#define offsetof(s,m) (size_t)( (ptrdiff_t)&reinterpret_cast((((s *)0)->m)) )#else#define原创 2012-01-06 11:45:21 · 3714 阅读 · 0 评论 -
class私有变量
在C++中私有成员变量是不能在作用域外赋值的,这是C++语法和语义上做了限制,但是C++是在C基础上发展而来,class跟struct是没有区别。现在我介绍一种C++私有变量另类赋值方法,荒淫大家拍砖。#include #include #include using namespace std;class Foo{ char a; //偏移量 0 int原创 2012-01-06 15:17:49 · 1011 阅读 · 0 评论 -
realloc的源码和不足
概述:void *realloc(void *ptr, size_t size)realloc实在原有内存基础上直接从队上再分配指定数量的内存块,如果分配成功,返回新的地址,这样隐含源地址失效的风险。例如:char *p,*q;p = malloc(sizeof(char)*1024);q = p;p = realloc(p,1024);//可能造成q指针失效,因为原创 2012-01-06 19:11:55 · 4155 阅读 · 7 评论 -
如何理解stdlib.h里的_countof()宏
转载地址:http://blog.youkuaiyun.com/yuanmanzheng/article/details/5472967在stdlib.h里有一个宏_countof,如下:extern "C++"{template char (*__countof_helper(UNALIGNED _CountofType (&_Array)[_SizeOfArray]))转载 2012-01-07 11:41:04 · 527 阅读 · 0 评论 -
char_traits类的两个成员函数
static _Elem *__CLRCALL_OR_CDECL _Copy_s(_Elem *_First1, size_t _Dest_size, const _Elem *_First2, size_t _Count) { // copy [_First1, _First1 + _Count) to [_First2, ...)// _DEBUG_POINTER(_First1)原创 2012-01-09 15:16:45 · 1114 阅读 · 0 评论 -
含有const关键字成员函数
const关键字表示不可修改的意思。在类成员函数中分为两种情况:1、ReturnType Function_name(……) const在类成员函数参数列表中隐藏了this指针,cosnt就是修饰this中的,表示只能读取,不能修改数据的意思。另外一层意思就是const对象或者const指针(引用)只能调用const成员函数。2、const ReturnType& Function原创 2012-01-10 11:22:36 · 688 阅读 · 0 评论 -
判断整数的正负零特性
转载地址:http://www.cppblog.com/qinqing1984/archive/2011/07/13/150855.html今天在C++博客看到一遍讨论不用条件判断语句,要求返回正负零特性的文章,后面的讨论很精彩,花了一个上午的时间才他们的思路理解,惭愧惭愧。方法总结如下:第一种方法:分离符号位,利用移位,异或求为一位//val = 10int a = v转载 2012-01-10 14:47:23 · 2860 阅读 · 0 评论 -
protobuf生成rpcserver代码
近排玩起了protobuf,看了陈硕protobuf rpc和eventrpc rpc,写点什么下来,方便以后查看。google官方共享的一个协议编码器。可以使用它来生成rpc协议。定义例子:package sudoku;message SudokuRequest { required string checkerboard = 1;}//请求包格式message Sud原创 2012-01-14 15:57:19 · 7323 阅读 · 0 评论 -
避免对派生的非虚函数进行重定义
class Foo{public: void Print() { printf("Foo\n"); };};class Animal:public Foo{public: void Print() { printf("Animal\n"); };};int main(){ Animal *原创 2012-01-05 11:50:15 · 588 阅读 · 0 评论 -
成员函数指针与高性能的C++委托
成员函数指针与高性能的C++委托Member Function Pointers andthe Fastest Possible C++ Delegates 撰文:Don Clugston 翻译:周翔 引子标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中转载 2011-12-12 20:54:34 · 480 阅读 · 0 评论 -
makefile编译C++类例子
main.cpp#include //#include #include "show.h"int main(){ Show a; a.Print(); return 0;}show.h#ifnd原创 2011-10-16 03:11:02 · 3430 阅读 · 0 评论 -
Redis
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字原创 2011-11-15 10:09:48 · 366 阅读 · 0 评论 -
UML类
类之间的关系 依赖-依赖 -UML表示法:虚线+箭头 -关系:"... use a",依赖是单向的 -表现: A、依赖类作为主类成员方法的参数 B、主类方法使用了依赖类方法 C、主类方法返回类型是依赖类 -关联 -UML表示法:实线+箭原创 2011-11-16 11:28:33 · 405 阅读 · 0 评论 -
让C++也支持RMI
装载声明:本文转自http://www.vckbase.com/document/viewdoc/?id=1846,版权归作者所有让C++也支持RMI作者:王树栋摘要RMI( Remote Method Invocation),远程方法访问,作为java最早的分布式解决方案给网络程序的设计带来了极大的方便。尤其是在做C/S开发中,程序员不必关心底层网络通讯细节,即可像调转载 2011-10-29 11:20:49 · 1081 阅读 · 0 评论 -
简单实现内存分配
对象头文件#ifndef MEMERY_POOL_H_#define MEMERY_POOL_H_#define BUFFSIZE 1024#define MAXSIZE 5struct DataType{ char* data; struct DataType* next;};class MemeryPool{private: struct DataType*原创 2011-12-05 21:35:19 · 449 阅读 · 0 评论 -
vecto的删除方法
一、 for(std::vector::iterator it = buff.begin(); it != buff.end();) { if(*it == 4) { it = buff.erase(it); } else { it++; } }二、 for(int i = 0;i < buff.size();) { if(buff[i]原创 2011-12-07 22:11:55 · 487 阅读 · 0 评论 -
atexit函数小结和静态对象析构
1、作用 - 注册函数,main函数返回或者exit函数调用,函数执行顺序与注册顺序相反 -程序退出时调用静态全局变量析构函数(包含静态成员变量)2、静态对象 全局静态对象构造函数最早,到局部成员静态对象构造函数,析构则相反 想在程序退出时析构,要在atexit注册原创 2011-12-08 20:28:46 · 1107 阅读 · 0 评论 -
mangos的LocalStaticCreation类
template class MANGOS_DLL_DECL LocalStaticCreation { union MaxAlign { char t_[sizeof(T)]; short int shortInt_; int int_; lo原创 2011-12-09 17:54:29 · 449 阅读 · 0 评论 -
C++ mutable
mutable与const相对,const修饰的成员函数不能修改数据的,但成员数据添加了mutable修饰,即可突破const限制。原创 2011-12-13 16:11:19 · 425 阅读 · 0 评论 -
POCO C++ Libraries
Poco提供了对windows,linux,android平台支持Poco主页:http://pocoproject.org/Poco文档:http://pocoproject.org/docs/创始人主页:http://obiltschnig.com/公司主页:http://www.appinf.com/原创 2012-01-04 18:51:17 · 1831 阅读 · 0 评论