瞎折腾

搞事情

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C/C++

摘要:虽然有人说在大型程序设计中永远不要使用scanf(),但是对于习惯用C的人和参加ACM/ICPC的人,scanf()还是用的比较多的,而且用好了用起来也很方便下面整理一点儿平时常需要用到而可能有些人一直理不清的一些知识一般常识:scanf()函数的一般格式为:scanf("格式字符串",输入项首地址表)scanf的格式控制的一般形式为:%[*][宽度][F|N][h|l]类型字符 []中的控制字符为可选项 "*"表示该输入项读入后不赋予任何变量,即跳过该输入值。这在减小内存开支上面还是有一点用处的,不需要的字符直接跳过,免得申请没用的变量空间 " 阅读全文
posted @ 2008-05-12 21:37 secularbird 阅读(912) 评论(0) 推荐(0)

摘要:#include#include#includeusingnamespacestd;intmain()...{vector>a;for(inti=0;i());for(intj=0;j<5;j++)...{a[i].push_back(j);}}for(inti=0;i<5;i++)...{for(intj=0;j<5;j++)...{cout<<setw(4)<<a[i][j]<<"";}cout<<endl;}return0;} 阅读全文
posted @ 2008-05-09 16:31 secularbird 阅读(334) 评论(0) 推荐(0)

摘要:摘自《Extended STL》标准库要求,所有值类型为聚合类型的迭代器必须支持指针成员选取运算符(operator ->()),下面是使用该运算符的示例代码:struct X{ int x;};some_iterator si = . . .some_iterator si2 = . . .some_iterator end = . . .if( end != si && end != si2){ si->x = si2->x;}标准(C++-03: 24.1.1;1)要求,对一个迭代器应用指针成员选取运算符,在语义上等同于先对其应用解引用运算符,再应用点号 阅读全文
posted @ 2008-04-25 12:25 secularbird 阅读(248) 评论(0) 推荐(0)

摘要:#ifndefEASYRANDOM_INCLUDED#defineEASYRANDOM_INCLUDEDstaticconstintA=48271;staticconstintM=2147483647;staticconstintQ=M/A;staticconstintR=M%A;classRandom...{public:explicitRandom(intinitialVal=1);intRandomInt();doubleRandom0_1();intRandomInt(intlow,inthigh);private:intstate;};Random::Random(intinitia 阅读全文
posted @ 2008-04-14 16:22 secularbird 阅读(2572) 评论(0) 推荐(0)

摘要:namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。namespace引入了复杂性,解决了这个问题。namespace允许像类,对象,函数聚集在一个名字下。本质上讲namespace是对全局作用域的细分。我想大家都见过这样的程序吧:hello_world.c#include using namespace std;int main(){ printf("hello wo 阅读全文
posted @ 2007-10-29 09:05 secularbird 阅读(173) 评论(0) 推荐(0)

摘要:gporf被称为GNU简档器,是binutils中的一个程序。这个程序可以帮我们找出程序运行时需要处理时间最长的函数。通过它我们可以有效的改善我们程序的效率。为了有效的使用我们的gprof工具,必须确保参数-pg编译希望监视的函数 ,用这个参数编译源代码,会为程序的每个函数插入对mcount自子例程的调用,当运用程序运行时,mcount子例程创建一个调用图表简档文件,即gmon.out,它包含了程序中每个函数的计时信息。程序测试完之后,就可以使用gprof程序来查看调用图表简档文件,gprof的能够输出以下几项内容: 一般简档报告(flat profile),显示每个函数在你的程序中花费的时间 阅读全文
posted @ 2007-10-17 10:12 secularbird 阅读(356) 评论(0) 推荐(0)

摘要:以前也没多注意C和C++有什么差别,感觉C++没有类,模板和引用,那么C++就是C近几天特别注意了这方面的问题,发现以前想的还是有问题的。去掉了类,模板和引用的C++和C还是有一定的差别的。下面列了几点还多多指教函数原型在C++中函数原型是必须的,而C中是可选的在C中圆括号意味着前向原型声明,但在C++中就意味着函数没有原型例如int test();int main(){ int test(4,5);}int test(int a,int b){}在C的旧风格中可以接受的,但是在C++中就会产生一个错误C++允许声明函数名相同的多个函数,只要他们具有不同的参数表char常量char常量在C中被 阅读全文
posted @ 2007-05-02 10:19 secularbird 阅读(214) 评论(0) 推荐(0)

摘要:前几天,我们操作系统老师讲了个关于用fork创建进程的问题。引用了如下的一个程序:#include #include #include int main(){ int pid; pid=fork(); if(pid<0) { fprintf(stderr,"FORK FAILED/n"); exit(-1); } else if(pid==0) { execlp("/bin/ls",NULL); } else { wait(NULL); printf("Child Complete/n"); exit(0); }}然后讲,在最后 阅读全文
posted @ 2007-03-29 11:48 secularbird 阅读(213) 评论(0) 推荐(0)