栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

你好,面试官-秋招面经C++持续更新

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

你好,面试官-秋招面经C++持续更新

C++
        • 指针和引用的区别
        • 指针常量和常量指针的区别
        • sizeof() 和 strlen()的区别
        • const关键字
        • static关键字
        • C++中struct和class的区别
        • new/malloc和deete/free的区别
        • 宏定义和typedef区别
        • 野指针和悬空指针

指针和引用的区别
  • 指针是一个变量,存储的是内存中的一个地址,引用只是一个别名,和原来变量是同一个东西

  • 指针可以有多级,引用只能有一级,不存在多级引用

  • 指针在初始化是可以为空,在定义时可以不进行初始化(但是不建议,使用未初始化的指针可能会造成野指针的情况),但是引用必须要进行初始化且引用不能为空

  • sizeof(指针)得到是指针的大小(32位机大小为4, 64位机大小为8),sizeof(引用)得到的指向的变量的大小

  • 引用一旦经过初始化后就不能被改变,指针经过初始化后还能够重新改变指向

指针常量和常量指针的区别
  • 指针常量:指针常量是对指针做限制,因此我们不能修改他的指向,但可以修改它所指向的内容,简而言之就是地址不能改变,内容可以改变
  • 常量指针:常量指针是对常量做限制,因为我们不能修改它的内容,但能够修改他的指向
sizeof() 和 strlen()的区别
  • sizeof是关键字不是函数是关键字不是函数是关键字不是函数,strlen是字符处理函数
  • sizeof参数可以为任何数据的类型或者数据,strlen的参数只能是字符指针,且计算大小时到‘’结尾
const关键字
  • const常量必须要在定义时进行初始化,之后无法更改

  • const形参可以接受const参数和非const参数

  • const对象只能调用const成员函数,非const成员既可以调用const成员函数,也可以调用非const成员函数

static关键字
  • 隐藏 所有不加static的全局变量和函数都具有全局可见性,可以在其他文件中使用,加了之后对于其他文件不可见
  • static变量默认初始化为0,存储在静态区
  • static成员变量只与类关联,不与对象关联,每个类只有一个,需在类中定义,在类外初始化
  • static成员函数不具有this指针,由于没有this指针,所以无法调用非static成员函数和非static成员变量
C++中struct和class的区别
  • 相同点
    • 两者都可以添加成员变量和成员函数,权限都有共有和私有部分
    • 在C++中struct和class没有区别
  • 不同点
    • struct默认public,class默认private
    • class默认private继承,struct默认public继承

tip:

  • 在c语言中,struct是用户自定义数据类型,里面不可以添加成员函数,在C++中可以添加成员函数
new/malloc和deete/free的区别 宏定义和typedef区别 野指针和悬空指针
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号