荟萃馆

位置:首页 > 范本 > 职场

it常见面试问题

职场3.11W

001:static的定义和用法

it常见面试问题

a:static的定义:它是c++中很常见的修饰符、它被用来控制变量的存储方式和可见性。static被引入以告知编译器,将变量存储在静态存储区而不是栈上空间,static它会把变量的可见范围限制在编译单元中,使它成为一个内部链接,它的反义词为extern。

b:static的用法:静态成员是静态存储的,必须对其进行初始化。在类中定义静态成员可以实现多个对象之间的数据共享。在函数体内定义静态变量,此变量只能在这个函数内使用。在函数体外,模块内定义静态变量,此变量只能在模块体内被使用。

002:const的定义和用法

a:const的定义:const常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。

b:const的用法:在 c程序中,const的用法主要有定义常量、修饰函数参数、修饰函数返回值等3个用处。在c++程序中,它还可以修饰函数的定义体,定义类中某个成员为常态函数,即不改变类中的数据成员。被const修改的东西都要受到强制保护,可以预防意外的变动,能提高程序的健壮性。

003:inline的定义和用法

a:inline的定义:是指嵌入代码,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。c++中引入它的主要原因是用它替代c中表达式形式的宏定义。

b:inline的用法:一般用于两种情况1)一个函数不断被重复调用2)函数只有简单的几行,且函数内不包含for、while、switch。关键字inline必须与函数定义体放在一起才能使用函数成为内联,仅将inline放在函数声明前面不起任何作用。

004:请简述深拷贝和浅拷贝的定义:

如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。

005:如果程序在运行中因内存错误而崩溃,有哪几种可能的原因:

a:内存泄漏b:内存越界访问c:野指针 d:访问空指针 e:引用未初始化的变量 f:不清楚的指针运算 g:结构图成员顺序发生变化 h:结构体大小变化

i:分配释放不配对 j:返回指向临时变量的指针 k:试图修改常量 l:误解传值和传引用 m:重名符合 n:栈溢出 o:字节顺序 p:多线程共享变量没有用valotile修饰

006:面向对象和面向过程的定义:

a:面向对象:软件开发的方法,是一种对现实世界理解和抽象的方法,是计算机编程发展到一定阶段的产物。面向对象=对象+类+继承+通信,如果一个系统使用这个4个概念设计和实现,则我们称该系统为面向对象。

b:面向过程:是一种以过程为中心的编程思想,这些都是以什么正在发生为目标进行编程,不用于面向对象是谁在受影响。

c:面向对象的作用:维护简单、可扩充性、代码重用

007:面向对象的三大特性:封装性、继承性、多态性

a:封装性:

b:继承性

c:多态性:简单的说就是“一个接口,多种方法”,即允许将子类类型的指针赋值给父类类型的指针。多态性一般都是通过虚函数、抽象类、覆盖、模板来实现。

008:用递归算法判断数组a[n]是否为一个递增数组

bool charge(int p[],int n) { if(n==1) return true; else { if(p[n-1]>p[n-2]) { return charge(p,n-1); } else return false; } }

009:局域网一般由三部分组成:网络服务器、工作站、通信设备

010:ip地址一般由:网络号和主机地址

011:引用的定义和作为函数参数传递的作用:

a:引用就是一个变量的别名,对引用的操作和对变量操作完全一样。

b:引用作为函数参数传递,能够保证参数传递过程中不产生副本,提供传递效率,且通过const的使用,保证传递的安全性

012:函数strcmp和函数strcpy的区别:

int strcmp(char* src,char* dst) :比较两个字符串是否相等,当src==dst返回0,当src<dst返回负数,当src>dst返回正数

《it常见面试问题》全文内容当前网页未完全显示,剩余内容请访问下一页查看。

标签:面试