c/c++
LindenTao
猥猥琐琐做好人,一本正经耍流氓。
展开
-
printf函数缓冲区问题
printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:1.缓冲区填满2.写入的字符中有‘\n’ '\r'3.调用fflush手动刷新缓冲区4.调用scanf等要从缓冲区中读取数据时,也会将缓冲区内的数据刷新在多线程程序中尤其值得注意,fork时,缓冲区也被fork,要是之前缓冲区没有被刷新过的话,缓冲区中的内容依然存在,在子进程中再次调用pri原创 2015-12-29 19:36:49 · 857 阅读 · 0 评论 -
main函数
C函数总是从main函数开始执行,main函数的原型是://argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组int main(int argc,char *argv[]);示例代码:/*****************************************> File Name : print_argc.cpp> Description : main函数解析示例代原创 2016-01-22 13:32:23 · 349 阅读 · 0 评论 -
进制控制原语
fork函数由fork创建的新进程被称为子进程(child process),fork函数被调用一次,但返回两次。两次返回的唯一区别是子进程的返回值是0,而父进程的返回值则是新子进程的进程ID。将子进程ID返回给父进程的理由是:因为一个进程的子进程可以有多个,并且没有一个函数使一个进程可以获得其所有子进程的进程ID。fork使子进程得到返回值0的理由是:一个进程只会有一个父进程,所以子进程总是可以调原创 2016-01-22 16:07:14 · 443 阅读 · 0 评论 -
c++运算符重载
运算符重载的概念和语法运算符重载的方式就是定义一个函数,在函数体内实现想要的功能,当用到该运算符时,编译器会自动调用这个函数。也就是说,运算符重载是通过函数定义实现的,它本质上是函数重载。 运算符重载的格式为:返回值类型 operator 运算符名称 (形参表列){ //TODO:}重载输入运算符>>格式:istream &operator>>(istream &in,自定义类型名 &形原创 2016-01-26 16:01:43 · 486 阅读 · 0 评论 -
C++多态性
overload,override,hide的区别:1).重载:成员函数具有以下的特征时发生“重载”A.相同的范围(同一个类中)B.函数的名字相同C.参数类型不同(不能进行隐式类型转换)D.Virtual关键字可有可无2).覆盖(也叫“继承”):指派生类函数覆盖基类函数,特征是:A.不同的范围(分别位于基类与派生类中)B.函数名字相同C.参数相同D.基类函数必须有virtual关键字3).隐藏:是指原创 2016-02-22 14:22:24 · 330 阅读 · 0 评论 -
内存字节对齐规则与作用
规则:1.数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储。2.结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数原创 2016-02-28 12:34:04 · 597 阅读 · 0 评论 -
libevnet学习
libevent的学习笔记链接:官网:http://libevent.org/ BOOK:http://www.wangafu.net/~nickm/libevent-book/原创 2015-12-23 11:27:38 · 923 阅读 · 0 评论 -
C/C++笔试题
/*****************************************> File Name : test.cpp> Description : c/c++ 笔试题原创 2016-02-28 16:18:51 · 513 阅读 · 0 评论