C/C++
heirenheiren
平凡中带点野性,和善中带点刚性,诙谐中带点伤感,冲动中带点淡定。
展开
-
static在C和C++中的区别
1、静态全局变量定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。特点:A、该变量在全局数据区分配内存。B、初始化:如果不显式初始化,那么将被隐式初始化为0。C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。D、文件作用域下声明的const的常量默认为static存储类型。2、静态局部变量定义:在局转载 2012-02-27 00:32:54 · 611 阅读 · 0 评论 -
递归
#include #include #include #include using namespace std;void removeHat(char);int main(int argc, char* argv[]){removeHat('A');}void removeHat(char cat){for(char c='A';cc原创 2012-03-19 11:10:51 · 510 阅读 · 0 评论 -
关键字break和continue的简单菜单系统
#include #include #include #include using namespace std;int main(int argc, char* argv[]){char c;while(true){coutcout";cin>>c;if(c=='q')break;if(c=='l'){coutcoutcin>>c原创 2012-03-19 11:08:02 · 635 阅读 · 0 评论 -
基本内部类型和说明符
#include #include #include #include using namespace std;void removeHat(char);int main(int argc, char* argv[]){char c;signed char sc;unsigned char uc;int i;unsigned原创 2012-03-19 11:31:14 · 2239 阅读 · 0 评论 -
逗号运算符
逗号运算符可以作为一个运算符用于分隔表达式,它只产生最后一个表达式的值。其他表达式的计算只完成他们的副作用。#include #include #include #include using namespace std;int main(){int a=0,b=1,c=2,d=3,e=4;a=(b++,c++,d++,e++);cout(原创 2012-03-19 18:42:33 · 558 阅读 · 0 评论 -
静态变量static
第一种用法: 函数中定义的局部变量在函数作用域结束时消失,当再次调用这个函数的时候,会重新创建该变量的存储空间,其值会被重新初始化。如果想使局部变量的值在程序的整个生命周期类仍然存在,我们可以定义函数的局部变量为static(静态的),并给他一个初始化。初始化只在函数第一次调用时执行,函数调用之间变量的值保持不变,用这种方式,函数可以“记住”函数调用之间的一些信息片段。#inclu原创 2012-03-19 16:49:09 · 615 阅读 · 0 评论 -
指针和引用修改外部对象
指针:#include #include #include #include using namespace std;void f(int *p){coutcout*p=8;cout}int main(int argc, char* argv[]){int x=47;coutcoutf(&x);cout}原创 2012-03-19 15:27:23 · 483 阅读 · 0 评论 -
容器(Vector)
为了不用把数据存到一个特定对象,C++提供了一个强大而且实用的工具:标准容器(container)类。最基本的标准容器:“vector”非常有用。vector类是一个模板(template),也就是说它可有效地用于不用的类型。#include #include #include #include using namespace std;int main(int argc,原创 2012-03-19 03:26:06 · 570 阅读 · 0 评论 -
文件的读写
为了读而打开文件,要创建一个ifstream对象,他的用发与cin相同,为了写而打开文件,要创建一个ofstream对象,用法与cout相同。一旦打开一个文件,就可以像处理其他iostream对象那样对它进行读写。在iosream库中,一个十分有用的函数是getline(),用它可以读入到string对象中(以换行符结束)。getline()的第一个参数是ifstream对象,从中读取内容,第原创 2012-03-19 02:47:06 · 706 阅读 · 0 评论 -
关于在C++中调用system函数
先看看下面的这一段程序:#include #include int main(int argc, char* argv[]){ std::cout std::system("pause"); //让程序暂停 return 0;}然后呢,再来讲几段背景知识。背景知识1:字符界面话说十几二十年前,一个个青春焕发、英俊潇洒、斗志昂扬的coder坐在转载 2012-03-19 01:46:07 · 20999 阅读 · 1 评论 -
一个简单的游戏服务器框架
作者: apengjiang (1 篇文章) 日期: 三月 22, 2012 在 12:30 下午最近一段时间不是很忙,就写了一个自己的游戏服务器框架雏形,很多地方还不够完善,但是基本上也算是能够跑起来了。我先从上层结构说起,一直到实现细节吧,想起什么就写什么。第一部分 服务器逻辑服务器这边简单的分为三个部分,客户端的连接首先到达网关服务器,网关这里有个线程用来监听来自转载 2012-03-30 01:37:45 · 908 阅读 · 0 评论 -
内存和缓存之间有什么区别?
缓存是集成于CPU当中,作为CPU运算的存储支撑。由于CPU芯片面积和成本的因素来考虑,缓存都很小。现在一般的缓存不过几M。CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。 内存则是作为CPU与硬盘间的存储转载 2012-03-04 18:53:48 · 16930 阅读 · 0 评论 -
c&c++程序的内存分配
c/c++程序的内存分配,有这样几个存储区。 全局/静态数据区:存储全局变量,和静态变量static声明的变量常量存储区:存储常量,如char *s="abcde"; 或者 const int i =10;代码区:这个不说了。代码放的地儿栈:临时变量,参数等,有大小限制,vc6/7: 1M 堆: 用户自己维护的空间,内存使用需要自己申请,自己释放。大小基本不转载 2012-03-19 19:24:04 · 523 阅读 · 0 评论