1、两数交换
#include <iostream.h>
void main()
{
 int a = 10;
 int b = 20;
 a = a^b;
 b = a^b;
 a = a^b;
 cout<<a<<endl;
 cout<<b<<endl;
}
2、C++编译时定义了_cplusplus;C编译时定义了_STDC_.可以用#ifdef 来判别是C编译还是C++编译。
3. 运算符是内置于语言的,函数是所带的库里面的。当然是前者的效率要高一些,不存在函数调用。
4、strcpy()容易产生缓存区溢出,可以用memcpy()函数来代替,因为memcpy()函数第三个参数传进拷贝的字节个数,所以不会像strcpy()函数一样因为找不到'\0'而产生缓冲区溢出现象。
5、_exit()与exit()函数的区别
_exit直接强制的停止进程,exit会作清理工作,比如说,释放内存(在C++里面会主动的调用析构函数,),关闭文件句柄的工作,包括刷新IO流
调用exit(),子进程会关闭所有打开的进程描述符。当执行流回到父进程的时候,所有文件(父子进程共享哦)都已经被关掉了,所以就没有输出咯。
而调用_exit(),它没有exit()这么勤快,只是退出而已,不会关文件,所以就ok咯。