
c/c++
rufeng18
这个作者很懒,什么都没留下…
展开
-
如何使用迭代器iterator循环删除容器中的元素?
STL中的容器主要分两类,一是顺序存储的,如vector;一是以红黑树形式存储的,如map。下面分别以vector和map为例,说明怎样利用迭代器在遍历的同时删除容器内元素。下面示例程序首先往容器中添加一定元素,然后循环删除其中连续或不连续的元素。程序在VS2003以及g++3.4下调试,不同编译器下可能结果不同。// vector sample for Windows and Linuxin转载 2007-10-31 18:44:00 · 1511 阅读 · 0 评论 -
位运算简介及实用技巧(一):基础篇
转于http://www.matrix67.com/blog/archives/263 去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个remake。当然首先转载 2008-07-22 09:55:00 · 699 阅读 · 0 评论 -
位运算简介及实用技巧(二):进阶篇(1)
===== 真正强的东西来了! =====二进制中的1有奇数个还是偶数个 我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。例如,1314520的二进制101000000111011011000中有9个1,则x=1314520时程序输出1。var i,x,c:longint;begin转载 2008-07-22 09:57:00 · 755 阅读 · 0 评论 -
位运算简介及实用技巧(三):进阶篇(2)
今天我们来看两个稍微复杂一点的例子。n皇后问题位运算版 n皇后问题是啥我就不说了吧,学编程的肯定都见过。下面的十多行代码是n皇后问题的一个高效位运算程序,看到过的人都夸它牛。初始时,upperlim:=(1 shl n)-1。主程序调用test(0,0,0)后sum的值就是n皇后总的解数。拿这个去交USACO,0.3s,暴爽。procedure test(row,ld,rd:longint转载 2008-07-22 09:58:00 · 979 阅读 · 0 评论 -
位运算应用口诀和实例
位运算应用口诀和实例 位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的转载 2008-07-22 10:04:00 · 804 阅读 · 0 评论 -
位运算简介及实用技巧(四):实战篇
下面分享的是我自己写的三个代码,里面有些题目也是我自己出的。这些代码都是在我的Pascal时代写的,恕不提供C语言了。代码写得并不好,我只是想告诉大家位运算在实战中的应用,包括了搜索和状态压缩DP方面的题目。其实大家可以在网上找到更多用位运算优化的题目,这里整理出一些自己写的代码,只是为了原创系列文章的完整性。这一系列文章到这里就结束了,希望大家能有所收获。 Matrix67原创,转贴请转载 2008-07-22 10:00:00 · 734 阅读 · 1 评论 -
判断链表是否有环
bool check(const node* head) ...{} //return false : 无环;true: 有环一种O(n)的办法就是:设两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然 bool check(const node* head) { if(head==NULL) return false;转载 2008-08-04 22:59:00 · 3253 阅读 · 1 评论 -
C++中求100的阶乘的末尾包含多少个0?
程序通过找出1~100之间的所有整数中包含5这个因子的个数来求解。如100=5*5*4含5的因子个数为2,在求阶乘的过程中末尾产生两个0。 #include #include int CountZero(int n){ if (n { return 0; } int i,m = 0,k = 0;原创 2008-09-08 15:07:00 · 1852 阅读 · 1 评论 -
求1000阶乘的结果中0的个数和结果的位数(利用数组)
#include void CountZero2(int n) { //数组保存结果,存储顺序为各位,十位,百位, …… int a[3000]={1}; int wei=0; //保存当前计算结果的位 int jinwei = 0;//保存低位的进位 int w = 0; //保存当前位与i的乘积原创 2008-09-08 17:09:00 · 883 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
【大端(Big Endian)与小端(Little Endian)简介】Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对于跨越多个字节的对象,一般它所占的字转载 2008-09-11 22:27:00 · 871 阅读 · 1 评论 -
vector与数组间数据copy处理
#algostuff.h/* PRINT_ELEMENTS() * - prints optional C-string optcstr followed by * - all elements of the collection coll * - separated by spaces */template inline void PRINT_ELEMENTS (co原创 2009-01-14 13:52:00 · 3398 阅读 · 0 评论 -
libevent源码分析
libevent实现了网络IO,timer,signal的事件触发机制. 可以很方便的应用于event-driven服务器中,作为其底层事件处理模块. 比较成功的案例有 memcache(分布式缓存), PLB(负载均衡器)等. 最近研究了一下libevent的源码, 版本是1.3b,可以大概分成几个模块:♦ 事件处理框架♦ 事件引擎模块♦ Buffer管理模块♦ 信号处理转载 2009-03-01 12:23:00 · 3445 阅读 · 1 评论 -
gSoap下Server端接口函数的数据传出[转]
一、引言gSOAP是一个OpenSource的web服务开发工具,包括server/client通信和wsdl自动生成功能,能依据wsdl文件生成server和client代码,产生的代码小巧简洁不依赖其他xml解析库,很容易移植,大大减轻webservice程序员的工作量。它提供一种独特的SOAP/XML到C/C++ 语言绑定,以简化C或C++中SOAP/XMLWeb服务和客户机的开转载 2008-12-25 10:59:00 · 3012 阅读 · 1 评论 -
使用gSoap开发Web Service C/C++客户端[转]
Aigui.LIU@ihep.ac.cn 2006-08-02一、开发环境准备 1、从gSoap官方网站 http://gsoap2.sourceforge.net 下载软件 2、根据文档安装配置gSoap(略)二、如何开发WEB服务客户端 1、基本流程 (1)从WEB服务提供者获取WEB Service的WSDL文件; (2)使用gSoap工具w原创 2008-12-25 11:00:00 · 3219 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析13
FileZilla FTP服务器源代码分析13<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 11:12:00 · 1535 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析12
FileZilla FTP服务器源代码分析12<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 11:10:00 · 3273 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析11
FileZilla FTP服务器源代码分析11<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;googl转载 2008-01-08 11:07:00 · 4230 阅读 · 0 评论 -
有用的国外开源项目网址
有用的国外开源项目网址- - sourceforge http://www.sourceforge.net/java.net http://www.java.net/http://www.eclipse.org/http://www.opensource.org/Lomboz http://www.转载 2007-11-08 14:10:00 · 945 阅读 · 0 评论 -
static的理解
staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为转载 2007-11-08 09:30:00 · 641 阅读 · 0 评论 -
非阻塞 Socoket 编程
转载 2007-12-19 16:35:00 · 911 阅读 · 1 评论 -
指针的安全使用
指针的安全使用1 指针的使用场合 Cases using pointers 在正常情况下,无论从安全性和编程效率、运行效率上比较,指针比普通声明的变量都要低,特别是new和delete的速度相当慢,因此一般不使用指针变量。以下是COODBLib优化前的几个例子: 在Debug版本中选取2E4个CCustomer过程中,需花费: 563.414ms完成300032次CObject::op转载 2007-12-21 10:11:00 · 1099 阅读 · 0 评论 -
收藏blog地址
看到不错的blog,收藏此处http://blog.youkuaiyun.com/caimouse/MyArticles.aspx原创 2007-12-22 10:43:00 · 791 阅读 · 1 评论 -
C语言宏定义技巧(常用宏定义)
C语言宏定义技巧(常用宏定义) 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H //头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef un转载 2007-12-19 16:27:00 · 1123 阅读 · 0 评论 -
C++ 中的 Singleton 实现
C++ 中的 Singleton 实现关键字:ANSI C++, Singleton, static member, initialize, auto_ptr, std, STL , implement, 实现 ANSI C++ 中的 Singleton 实现说难不难,说容易也不容易,很多人写 ANSI C++ 的 Singleton class 都有错误。这篇文章讨论怎样在转载 2007-12-21 10:16:00 · 680 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析1
FileZilla是开源的FTP服务器,用C++写的,通过分析它的源代码,可以掌握C++网络编程以及高并发服务器的设计。FileZilla是http://sourceforge.net上的项目,主页是http://sourceforge.net/projects/filezilla,我们要研究的版本是:FileZilla Server 0_9_18,其实FileZilla还包括客户端软件。下载转载 2008-01-08 10:41:00 · 4125 阅读 · 2 评论 -
FileZilla FTP服务器源代码分析04
FileZilla FTP服务器源代码分析04<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 10:43:00 · 2129 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析05
FileZilla FTP服务器源代码分析05<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 10:45:00 · 1634 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析07
FileZilla FTP服务器源代码分析07<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 10:49:00 · 2031 阅读 · 3 评论 -
FileZilla FTP服务器源代码分析09
FileZilla FTP服务器源代码分析09<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 10:53:00 · 2162 阅读 · 0 评论 -
FileZilla FTP服务器源代码分析10
FileZilla FTP服务器源代码分析10<!--google_ad_client = "pub-1534216445189830";google_alternate_ad_url = "http://www.fish888.com/noad.html";google_ad_width = 336;google_ad_height = 280;goo转载 2008-01-08 10:55:00 · 2342 阅读 · 0 评论 -
cocos2d-x MoonWarriors
https://github.com/fylz1125/MoonWarriors转载 2013-09-26 12:29:13 · 810 阅读 · 1 评论