C++语言相关的常见面试题目(一)

 1. const关键字的作用

答:

省流:(1)定义变量,主要为了防止修改

           (2)  修饰函数参数:防止在函数内被改变

        (3)修饰函数的返回值

        (4)修饰类中的成员函数

2. Static 关键字的作用

省流:可以修饰变量和函数。在函数、模块和类中都可以使用。 

3. 引用和指针的区别

省流:

(1)区别:指针可以初始化也可以不初始化,也可以为空,指针是一个对象。引用必须初始化不能为空,引用是对象的别名,没有实际地址。

(2)作用:共同作用:传递参数,避免对对象和数据的复制;指针还能配合虚函数实现多态和代码的复用

4  如何避免野指针

省流:创建指针时,指针要么初始化为空,要么指向一个对象;使用指针操作内存进行赋值检查是否为空;new malloc分配内存后检查指针是否为空;释放内存后指针置空。

5. maclloc、free、new、delete的区别

省流:这个省不了一点

6. extern关键字的作用

省流:这个不用省流了吧

7. 简述strcpy、sprintf和memcpy的区别?

省流:strcpy专用于字符串复制,sprintf用于格式化输出到字符串,而memcpy则是通用的内存块复制函数。

8. C/C++ 中类型转换以及使用场景

 

 省流:总结就挺省流的

9. C++什么时候生成默认构造函数

省流:(1)类内部的成员类提供默认构造函数

         (2)类继承的基类提供了默认的构造函数

           (3)  类内定义了虚函数

         (4)类使用了虚继承

10. C++什么时候生成默认拷贝构造函数

省流:(1)未定义拷贝构造函数

         (2)类内的成员类有默认的拷贝构造函数

         (3)类继承的基类有默认拷贝构造函数,或者基类中有虚函数

         (4)类中包含虚函数

12. c++什么是深拷贝?什么是浅拷贝?

共同点:基本数据类型逐个拷贝

不同点:浅拷贝只会复制动态成员的地址,新旧对象的动态成员指向同一块内存;深拷贝会复制动态成员指向的内存,新旧对象的动态成员指向不同的内存,虽然数据一样但是互不影响

这是一条吃饭博客,由挨踢零声赞助。学C/C++就找挨踢零声,加入挨踢零声,面试不挨踢!

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值