C/C++
文章平均质量分 66
nadakiss
Never say never
展开
-
PHP REG正则表达式
case "reg": //简单的注册 $pcre_Id = '/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_]{5,20}$/u'; $pcre_Pwd = '/^[0-9a-zA-Z]{6,20}$/'; $pcre_Email = '/^[a-zA-Z][0-9a-zA-Z_]+@([0-9a-zA-Z][0-9a-zA-Z.]{0,30}\.原创 2011-12-27 18:41:39 · 955 阅读 · 0 评论 -
const用法详解
<br />const用法详解<br /><br />面向对象是C++的重要特性. <br />但是c++在c的基础上新增加的几点优化也是很耀眼的<br />就const直接可以取代c中的#define<br />以下几点很重要,学不好后果也也很严重<br /><br />const<br />1. 限定符声明变量只能被读<br /> const int i=5;<br /> int j=0;<br /> ...<br /> i=j; //非法,导致编译错误<br /> j=i; //合法<br转载 2011-03-30 15:21:00 · 350 阅读 · 0 评论 -
附录C :C++/C试题的答案与评分标准
<br />一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)<br /> <br />请写出 BOOL flag 与“零值”比较的 if 语句。(3分)<br />标准答案:<br /> if ( flag )<br /> if ( !flag )<br />如下写法均属不良风格,不得分。<br /> if (flag == TRUE) <br /> if (flag == 1 ) <br /> if (flag == FAL原创 2011-03-30 13:33:00 · 408 阅读 · 0 评论 -
附录A :C++/C代码审查表
<br />文件结构<br />重要性<br />审查项<br />结论<br /> <br />头文件和定义文件的名称是否合理?<br /> <br /> <br />头文件和定义文件的目录结构是否合理?<br /> <br /> <br />版权和版本声明是否完整?<br /> <br />重要<br />头文件是否使用了 ifndef/define/endif 预处理块?<br /> <br /> <br />头文件中是否只存放“声明”而不存放“定义”<br /> <br /> <br />……<br转载 2011-03-30 11:46:00 · 493 阅读 · 0 评论 -
C++的内存管理
<br />摘要:C++是一种流行且功能强大的程序设计语言,利用C++已经产生出世界上各异的程序软件包。C++是在C语言的基本之上发展而来,它能够对C语言向下兼容,所以它也C语言的许多不足,其中内存管理就是社区中大家反应很大的“遗憾”。概述<br />内存是计算机系统最重要的资源之一,要是管理不当会引起许多的问题。当然对整个系统的内存管理是操作系统的功能,这里我们不去关注这一点,这里我们关注是一般程序的内存管理,相对而言操作系统对内存管理是非一般的。<br />内存管理顾名思义就是程序对自身内存资源使用的管转载 2011-03-29 10:07:00 · 358 阅读 · 0 评论 -
C++ vector 类学习笔记
vector容器类型 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。vector的构造 函数原型:template<typename T><br /> explicit vector(); // 默认构造函数,vector对象为空<br /> explicit vector(size_type n, const T& v =转载 2011-03-25 16:15:00 · 349 阅读 · 0 评论 -
C++新手必问之头文件
<br />C++新手必问之头文件<br /> <br /> <br />[结果] <br />经常在CSDN以及其他之类的技术论坛上问关于C++ 头文件的问题。提出这些问题的往往就是那些刚学C++的新手。当初我是菜鸟的时候也问过类似的问题。<br /> 现在来看看下面两个include: <br /> #include<iostream> // 这个就是1998年标准化以后的标准头文件<br /> #include<iostream.h> // 这个就是标准化以前的头转载 2011-03-25 16:14:00 · 348 阅读 · 0 评论 -
c++中的list用法
<br />#include <iostream> <br />#include <list> <br />#include <numeric> <br />#include <algorithm> <br /><br />using namespace std; <br /><br />//创建一个list容器的实例LISTINT <br />typedef list<int> LISTINT; <br /><br />//创建一个list容器的实例LISTCHAR <br />typedef list<原创 2011-03-25 11:02:00 · 683 阅读 · 0 评论 -
STL中map用法详解
<br />Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。<br />下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就转载 2011-03-25 19:57:00 · 333 阅读 · 0 评论 -
C++新手必问之头文件
<br />C++新手必问之头文件<br /> <br /> <br />[结果] <br />经常在CSDN以及其他之类的技术论坛上问关于C++ 头文件的问题。提出这些问题的往往就是那些刚学C++的新手。当初我是菜鸟的时候也问过类似的问题。<br /> 现在来看看下面两个include: <br /> #include<iostream> // 这个就是1998年标准化以后的标准头文件<br /> #include<iostream.h> // 这个就是标准化以前的头原创 2011-03-25 12:01:00 · 370 阅读 · 0 评论 -
链表
<br />#include "stdafx.h"<br />using namespace std;<br />struct student<br />{<br /> char name[50];<br /> int number;<br /> student *next;<br />};<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> int i=0;<br /> student *head,*end,*temp;<br /> temp =原创 2011-04-01 13:38:00 · 361 阅读 · 0 评论 -
最难的逻辑思考题
<br />根据已故的麻省理工( MIT )哲学及逻辑家George Boolos,以下的趣味逻辑问题可算是全世界最难的一个。你可以解决这个难题吗? <br />有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话。还有一个随机地决定何时说真话,何时说假话。你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。这个难题困难的地方是这些精灵会以“Da”或“Ja”回答,但你并不知道它们的意思,只知道其中一个字代表“对”,另外一个字代表“错”。你应该问那三条问题呢?原创 2011-04-07 14:33:00 · 1430 阅读 · 0 评论 -
VC++中文件类型小结
.dsw---- 这种类型的文件在VC中是级别最高的,称为Workspace文件 .dsp---- 在VC中,应用程序是以Project的形式存在的,Project文件的扩展名为.dsp,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行转载 2011-09-20 16:49:41 · 364 阅读 · 0 评论 -
两种不同写法取最小数组元素
// o414.cpp : Defines the entry point for the console application.//#include "stdafx.h"using namespace std;template Type getMin(Type (&array)[size]){ Type minVal = array[0]; for (int i=0;iType getMin2(Type *array,int size){ Type m原创 2011-04-14 10:39:00 · 473 阅读 · 0 评论 -
Template 第一个 还不知道怎么调用
Template 第一个 还不知道怎么调用#include #include using namespace std;template Type min1(const Type (&r_array)[size]){ Type minval = r_array[0]; for (int i=0 ; i原创 2011-04-13 23:12:00 · 480 阅读 · 0 评论 -
C++的关键字explicit
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。 C++中, 一个参数的构造函数, 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动调用这个构造器, 创建一个AAA的对象。 这样看起来好象很酷, 很方便。 但在某些情况下(见下面权转载 2011-04-11 15:14:00 · 396 阅读 · 0 评论 -
小练习【链表】
<br />// struct1.cpp : Defines the entry point for the console application.//#include "stdafx.h"using namespace std;struct student{ char name[50]; float sorce; student *next;};student *head;void create() { student *ls;原创 2011-04-08 15:40:00 · 433 阅读 · 0 评论 -
c++新手常见问题
<br />前言:多给你自己几分钟,耐心的分析一下,不要习惯性的一遇到问题就想找高手帮你解决,耐心点,多想,多看,多练,你就是高手.<br />主要目的是总结C/c++理一些常见的错误,随手引用或者写的(被我引用了的朋友应该不会介意吧..),自然不够详尽,对涉及的具体问题有兴趣的朋友可以google,这里不浪费时间和篇幅了.<br />暂时整理出一些,时间跟精力有限,请大家多补充或指正<br />希望相关方面有问题的朋友们可以先看看此贴,说不定对你有帮助,也可以省去一些重复问题.<br />/****所有代原创 2011-04-06 16:25:00 · 519 阅读 · 0 评论 -
第一个骰子游戏
<br />// duyidu.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <time.h>using namespace std;int getDouzi(void){ int dz1,dz2; cout<<"按任意键开始roll点"; system("pause"); dz1 = 1+(rand()%6); dz2 =原创 2011-04-08 18:12:00 · 1086 阅读 · 1 评论 -
小练习【约瑟夫的问题】
<br />N个人围成一个圈,一次1 2 3报数,当报到第三个的时候自动退出圈子,直到最后不到3人,算出留下来的人的编号.<br />#include "stdafx.h"using namespace std;void outPutArr(int *a){ int i=0; for (;i<sizeof(a);i++) { cout<<a[i]<<"/t"; } cout<<endl;}int _tmain(int argc, _TCHAR*原创 2011-04-08 15:32:00 · 444 阅读 · 0 评论 -
验证输入的整数是否为2的次方 2 4 8 16...均是 要求不能用循环
<br />#include <stdio.h><br />#include <iostream><br />using namespace std;<br />int IsPow(int a)<br />{<br /> int b;<br /> if (a%2 == 1)<br /> {<br /> return 0;<br /> }<br /> else<br /> {<br /> b = a/2;<br /> if (b == 1)<br /> {<br /> return 1;<br /原创 2011-04-07 21:22:00 · 636 阅读 · 0 评论 -
迷宫代码 还没看完
<br /> 题目: 迷宫是一个矩形区域,它有一个入口和一个出口。在迷宫的内部包含不能穿越的墙或障碍。在图5 - 8所示的迷宫中,障碍物沿着行和列放置,它们与迷宫的矩形边界平行。迷宫的入口在左上角,出口在右下角<br /> 以下是自己根据题目要求写的算法:<br /> 功能有:1 自动生成10*10迷宫图<br /> 2 判断是否有迷宫出口,并且画出路线图<br /> /*******************迷宫算法程序***********************转载 2011-03-24 23:35:00 · 487 阅读 · 0 评论 -
C++友元函数友元类简单说明
<br />友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。 <br /><br /> 友元函数 <br /><br /> 友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看,它与普通函数一样,即在定义上和调用上与普通函数一样。下面举一例子说明友元函数的应用。 <br /><br /> #include <br /> #include <br /><br /> class Point <br /> { <br /> public:转载 2011-03-22 10:55:00 · 751 阅读 · 0 评论 -
C语言面试题(与、或、异或、取反、左移和右移)
<br />位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。<br />C语言提供的位运算符列表:<br />运算符 含义 描述<br />& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0<br />| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1<br />^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1原创 2011-03-07 10:39:00 · 738 阅读 · 0 评论 -
C++中union的使用
<br />联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!<br /><br />1、什么是联合?<br />“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已达到节省空间的目的(还有原创 2011-03-08 17:51:00 · 600 阅读 · 0 评论 -
十进制 二进制 八进制 十六进制
<br />十进制转二进制,整数部分按除2取余,小数部分按乘2取整.<br />例:<br />50/2 ........ 余0<br />25/2 ........ 余1<br />12/2 ........ 余0<br />6/2 ........ 余0<br />3/2 ........ 余1<br />1<br /><br />50的二进制就是 110010<br /><br />小数<br /><br />0.25*2 ........ 0.5 整数原创 2011-03-06 20:43:00 · 1145 阅读 · 1 评论 -
C/C++中枚举类型(enum)的使用解惑 收藏
<br /> C/C++中枚举类型(enum)的使用解惑 收藏 <br />作者:hqlong 日期:2007-05-30<br /> <br />枚举类型,顾名思义,“枚”作为量词,作“个”讲,那么枚举,就是一个一个的列举,如果一件事情能够被一个一个的列举,那么它的数量肯定就是有限的,否则是不能被一一列举出来的。所以枚举类型即为能被列举的常量的一个集合。<br />在 生活中,枚举的例子随处可见,比如礼拜几,那么就可以作为一个枚举变量。这个变量所存储的值,是有限的,且,能被我们所列举。再比较说,性别。它也转载 2011-03-03 14:00:00 · 455 阅读 · 0 评论 -
C/C++中枚举类型(enum)的使用解惑 收藏
<br /> C/C++中枚举类型(enum)的使用解惑 收藏 <br />作者:hqlong 日期:2007-05-30<br /> <br />枚举类型,顾名思义,“枚”作为量词,作“个”讲,那么枚举,就是一个一个的列举,如果一件事情能够被一个一个的列举,那么它的数量肯定就是有限的,否则是不能被一一列举出来的。所以枚举类型即为能被列举的常量的一个集合。<br />在 生活中,枚举的例子随处可见,比如礼拜几,那么就可以作为一个枚举变量。这个变量所存储的值,是有限的,且,能被我们所列举。再比较说,性别。它也转载 2011-03-03 13:59:00 · 453 阅读 · 0 评论 -
c++服务器
<br />MMORPG不同于其它的局域网的网络游戏,它是一个面向整个Internet的连接人数过万的网络游戏,因此他的服务器端设计则极为重要<br /><br />服务器的基本设置<br /><br /> 在大型网络游戏里,通常设计为C/S结构,客户端不再对数据进行逻辑处理,而只是一个收发装置,从玩家那里接受到操作信息,然后反馈给服务器,再由服务器进行处理后发回客户端,经客户端通过图形化处理,给玩家呈现出一个缤纷的游戏世界。<br /><br /> 登陆服务器<br /><br /> 在这里也可以称原创 2011-03-01 21:40:00 · 708 阅读 · 0 评论 -
VS快捷健
<br />全局”快捷键<br />下列快捷组合键可用于集成开发环境 (IDE) 中的不同位置。<br />命令名 快捷键 说明 <br />编辑.复制 CTRL + C<br />CTRL + INSERT 将当前选定的项复制到系统剪贴板。 <br />编辑.剪切 CTRL + X<br />SHIFT + DELETE 将当前选定的项移除到系统剪贴板。 <br />编辑.循环应用剪贴板中的复制项 CTRL + SHIFT + INS<br />CTRL + SHIFT + V 将项从“工具箱”的“剪贴板转载 2011-03-01 21:41:00 · 550 阅读 · 0 评论 -
转:一种经典的网络游戏服务器架构
<br />from:http://www.cppblog.com/johndragon/archive/2008/04/10/46768.html<br />首先,二话不说,上图(用Windows画图画的。。。)<br /><br /><br />这个图是一个区的架构图,所有区的架构是一样的。上面虚线框的ServerGroup和旁边方框内的架构一样。图上的所有x N的服务器,都是多台一起的。红线,绿线,和蓝线图上也有图示,这里就不多介绍了。关于Agent Server大家也能看出来,其实就是Gate。<b转载 2011-02-28 17:21:00 · 457 阅读 · 0 评论 -
指针
<br />// p45.cpp : Defines the entry point for the console application.<br />//<br />#include "stdafx.h"<br />using namespace std;<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> //声明字符型数组和指针变量<br /> char str[10];<br /> //char *strip=str; //等价 <br /原创 2011-03-08 11:13:00 · 452 阅读 · 0 评论 -
static
<br />C++的static关键字<br /><br />作者:韩耀旭<br /><br /> C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。<br />一、面向过程设计中的static<br />1、静态全局变量<br />在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#inclu原创 2011-03-09 16:12:00 · 309 阅读 · 0 评论 -
stringstream的用法
<br />使用stringstream对象简化类型转换<br />C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。<br />为什么要学习<br />如果你已习惯了<stdio.h>风格的转换,也许你首先会问:为什么要花额外的精力来学习基于<sstream>的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换到字转载 2011-03-18 10:36:00 · 707 阅读 · 0 评论 -
C/C++时间函数的使用
一、获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是: typedef long time_t; /* time value */可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分07秒。函数time可以获取当前日历时间时间,time的定义: time_t time(time_t *)view plaincopy to clipboard转载 2011-03-17 16:12:00 · 429 阅读 · 0 评论 -
用C语言写出strcpy和strlen的函数的原型
<br />今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过)<br />1、Strcat函数原型如下:<br />char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数<br />{<br /> char * add原创 2011-03-18 17:20:00 · 1908 阅读 · 0 评论 -
C++ string 分割字符
<br />string str="ab defg";<br />int i=str.find(' ');<br />string str1=str.substr(0,i);<br />cout<<str1;<br />return 0;<br /> <br />切割字符串<br />#include <sstream><br />#include <string><br />#include <iostream><br />using namespace std;<br />int main()<br /转载 2011-03-18 11:01:00 · 12309 阅读 · 1 评论 -
C++中对sprintf()函数的说明(转)
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 <br />sprintf 是个变参函数,定义如下:<br />int sprintf( char *buffer, const char *format [, argument] ... );<br />除了前两个参数类型固定外,后面可以接任意多个参数。而转载 2011-03-17 17:23:00 · 451 阅读 · 0 评论 -
C语言操作mysql数据 常用函数
<br />C语言操作mysql数据 常用函数<br />所需头文件: #include <mysql/mysql.h><br />功能: 获得或初始化一个MYSQL结构<br />函数原型: MYSQL *mysql_init(MYSQL *mysql)<br />函数返回值: 一个被始化的MYSQL*句柄<br />备注: 在内存不足的情况下,返回NULL<br />所需头文件: #include <mysql/mysql.h><br />函数功能: 关闭一个服务器连接,并释放与连接相关的内存<转载 2011-03-16 14:26:00 · 670 阅读 · 0 评论 -
static
<br />C++的static关键字<br /><br />作者:韩耀旭<br /><br /> C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。<br />一、面向过程设计中的static<br />1、静态全局变量<br />在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#inclu转载 2011-03-14 10:54:00 · 313 阅读 · 0 评论