
C/C++
zhyoulun
ha..ha..
展开
-
C++编译器在编译程序时会自动定义的预处理器(类似于全局变量)
编译C++程序时编译器自动定义了一个预处理器名字__cplusplus(注意前面有两个下划线)。因此,我们可以根据它来判断该程序是否是C++程序,以便有条件地包含一些代码。例如:#ifdef __cplusplus // 不错我们要编译C++ /*在这里写我们想要做的事情*/#endif在编译标准C 时,编译器将自动定义名字__STDC__ 。当然__cplu原创 2013-11-10 21:49:41 · 1437 阅读 · 0 评论 -
通用预处理器宏assert()的用法
assert()是C语言标准库中提供的一个通用预处理器宏。在代码中常利用assert()来判断一个必需的前提条件,以便程序能够正确执行。例如,假定我们要读入一个文本文件,并对其中的词进行排序,必需的前提条件是文件名已经提供给我们了,这样我们才能打开这个文件。为了使用assert(),必须包含与之相关联的头文件:#include 下面是一个简单的使用示例:assert( file原创 2013-11-10 22:01:13 · 1799 阅读 · 0 评论 -
C++文件操作的HelloWorld
下面是一个C++文件操作的入门,可以很容易的参照模仿。#include#include#includeusing namespace std;void main(void){ //输出文件 ofstream outfile("out.txt"); //输入文件 ifstream infile("in.txt"); //判断是否能打开输入文件 if(!infile)原创 2013-11-11 19:11:23 · 1048 阅读 · 0 评论 -
如何分配动态数组
如何分配动态数组,以及内存的回收,还有与其他情况的对比。#includeusing namespace std;void main(void){ cout<<"----------------------"<<endl; cout<<"静态对象"<<endl; //静态对象 int a; a=1; cout<<"a:"<<a<<endl; cout<<"------原创 2013-11-11 19:53:55 · 928 阅读 · 0 评论 -
fork创建子进程
流程子进程被Linux内核调入CPU执行的过程进程的生命周期包括从创建到退出的全部状态转化,它的生成周期里并不一定要经历所有的状态。最初,父进程通过fork系统调用创建子进程,子进程被创建后,处于创建状态。Linux内核为子进程配置数据结构,如果内存空间足够,子进程在内核中就绪,否则在swap分区就绪。这时子进程处于就绪状态,等待Linux内核调度。Linux内核会为子进程分配CPU时钟周期,在合适原创 2016-11-08 13:38:31 · 7272 阅读 · 0 评论 -
传递数组到函数中
正文为将数组类型和元素数量告诉数组处理函数,请通过两个不同的参数来传递他们:void fillArray(int arr[], int size); //原型而不要试图使用方括号表示法来传递数组长度:void fillArray(int arr[size]); //不正确解释在大多数情况下,C++和C语言一样,也将数组名视为指针。C++将数组名解释为其第一个元素的地址:cookies ==原创 2017-02-06 14:19:26 · 2895 阅读 · 0 评论