c++面试题
来源:互联网 发布:编程职业培训学校 编辑:程序博客网 时间:2024/06/16 06:21
1.静态变量在整个程序的运行过程中始终是存在的(T)
正确:static变量存放在程序的初始化全局变量区,生命周期与全局变量相同,从程序开始就分配空间并且初始化,待程序结束空间被释放.但是,static变量的作用域并不等于生命周期,如果static变量在局部作用域内声明,则只可以在局部作用域内被调用。
2.一个类可以有多个析构函数(F)
答:析构函数没有参数列表,无法重载,但是可重写注释:c++中重载函数通过形参判定是否可以重载!!!c++中重载的判断重要依据(返回值不行):const:(形参为引用或者指针)(传参时const和非const)参数 : (参数类型,参数的个数)为什么返回值不能作为重载的依据: 编译器编译时不会取判断函数的返回值类型,也就是返回值虽然不同,但是只有调用后,编译器才会去验证类型,所以返回值不能作为重载的依据。
fork()函数
fork()函数的用法:
父进程返会子进程的id,子进程返回0,为什么子进程返回0:因为子进程没有子进程。
并且fork()前的代码:是公用代码,fork()后的代码有可能是公共的,有可能是父进程,子进程私有的。
#include <stdio.h>#include <unistd.h>int main(int argc,char *argv[]){ int i=0; printf("son/pa ppid pid fpid\n"); printf("%d\n",getppid()); //ppid只当前进程的父进程pid //pid指当前进程的pid //fpid指fork()返回给当前的进程的值 for(i=0;i<3;i++) { pid_t fpid=fork(); if(fpid==0) { printf("%d child %4d %4d %4d\n",i,getppid(),getpid(),fpid); } else printf("%d parent %4d %4d %4d\n",i,getppid(),getpid(),fpid); }while(1); return 0; }/*//一个主程序的父进程是谁???执行结果如下:on/pa ppid pid fpid0 parent 4756 9440(本) 9441(子) 0 child 9440 9441(本) 0 (子) 9440->94411 parent 4756 9440(本) 9442(子) 与parent0是同一进程 1 parent 9440 9441 9443 与child0是同一进程1 child 9441 9443 0 9441->94431 child 1313 9442 0 1313->9442 9440->9441->94431.当 i=0; 父进程4756创建子进程9440 和 9441 紧接着父子进程分别进入循环中,父进程打印 0 parent 4756 9440(本) 9441(子) 子进程打印 0 child 9440 9441(本) 0 (子) 2.当 i=1; 父进程 9440开始创建子进程 父进程打印1 parent 4756 9440(本) 9442(子) 子进程打印1 child 1313 9442 0 子进程 9441开始创建子进程 父进程打印1 parent 9440 9441 9443 子进程打印1 child 9441 9443 0 4756->9440->9441->9443 4756->9440->94424756 9440 9441 9442 9443*/
解释:
第一次:主进程是由bash进程创建 ,所以bash进程不算入程序的进程之中,父进程创建子进程1,这时有两个进程。
第二次:父进程创建子进程2,子进程1会创建子进程3
第三次:父进程创建子进程3,子进程子进程2会创建子进程4
子进程1会创建5,子进程3,会创建子进程6
####构造函数的构造顺序
“`
include
using namespace std;
int i=0;
class MyCls{
public:
MyCls():m_Fo(m_T),m_S(i++),m_Fi(i++),m_T(i++)
{
m_T=i;
}
void echo()
{
cout<<”result:”<
阅读全文
0 0
- C语言面试题
- c/c++面试题
- c/c++面试题
- C/C++面试题
- c/c++面试题
- c面试题
- C语言面试题
- c/c++面试题
- C语言面试题
- C语言面试题
- C/C++ 面试题
- C面试题
- C#.NET面试题
- C/C++面试题
- c/c++面试题
- c语言面试题
- C#.NET面试题
- c语言面试题
- SHUTDOWN: waiting for active calls to complete.
- 信鸽推送 Android 跳转Activity
- kylin使用的一些记录
- java图片裁剪和java生成缩略图
- 关于python的一些错误
- c++面试题
- EasyNVR H5无插件直播方案前端构建之:如何播放HLS
- 下载spring的几种方法
- 第2周第1次课 线性表
- 【PostgreSQL-9.6.3】进程及体系结构
- Android Adapter
- 15. module create
- android设计模式六大原则 带着逻辑理解记忆
- hellow