C/C++ 常见1000道面试题( 111 )

您所在的位置:网站首页 lua语言面试题 C/C++ 常见1000道面试题( 111 )

C/C++ 常见1000道面试题( 111 )

2023-03-31 02:11| 来源: 网络整理| 查看: 265

901.C++中类成员的作用域

(1)类成员的作用域只在类的内部,外部无法直接访问

(2)成员函数可以直接访问成员变量和调用成员函数

(3)类的外部可以通过类变量访问 public 成员

(4)类成员的作用域与访问级别没有关系。(注意 C++中用 struct 定义的类中所有成员默认为 public,而 class 定义的类成员的默认属性为 private)

902.C++中类的关键字

(1)struct 在 C 语言中己经有了自己的含义,必须继续兼容

(2)在 C++中提供了新的关键字 class 用于类定义

(3)class 和 struct 的用法完全相同。但 C++中用 struct 定义的类中所有成员默认访问级别为 public,而 class 定义的类成员的默认访问级别为 private

903.C++中类声明和实现的分离

(1).h 头文件只用类的声明:成员变量和成员函数

(2).cpp 源文件中完成类的其它实现(如成员函数的实现)

904.C++中的命名空间

C++中命名空间概念用于解决名称冲突问题

(1)在 C 语言中只有一个全局作用域

​ ①C 语言中所有的全局标识符共享同一个作用域

​ ②标识符之间可能发生冲突

(2)C++中提出了命名空间的概念

​ ①命名空间将全局作用域分成不同的部分

​ ②不同命名空间中的标识符可以同名而不会发生冲突

​ ③命名空间可以相互嵌套

​ ④全局作用域也叫默认命名空间

(3)C++命名空间的定义:namespace Name {}

​ ①使用整个命名空间:using namespace name;

​ ②使用命名空间中的变量:using name::variable;

​ ③使用默认命名空间中的变量: ::variable

905.C和C++相互调用

(1)C++编译器能够兼容 C 语言的编译方式

(2)C++编译器会优先使用 C++编译的方式

(3)extern 关键字能强制 C++编译器进行 C 方式的编译

906.函数重载的定义、条件、注意事项

1.函数重载(overload)的概念

(1)用同一个函数名定义不同的函数

(2)当函数名和不同的参数搭配时,函数的含义不同

2.重载的条件:必须至少满足下面的一个条件

①参数个数不同

②参数类型不同

③参数顺序不同

3.函数重载的注意事项

①重载函数在本质上是相互独立的不同函数。

②重载函数的函数类型不同

③函数的返回值不能作为函数重载的依据

④函数重载是由函数名和参数列表共同决定的。

907.C++中 inline 内联编译的限制

(1)含有递归调用的函数不能设置为 inline

(2)使用了复杂流程控制语句:循环语句和 switch 语句,无法设置为 inline(说明:如上述实例,在 VS2013 下,循环语句是可以被内联的)

(3)函数体不能过于庞大

(4)不能对函数进行取址操作

(5)函数内联声明必须在调用语句之前.

908.内联函数的定义和特点

内联函数的定义

(1)C++编译器可以将一个函数进行内联编译,被 C++编译器内联编译的函数叫内联函数。

(2)C++中使用 inline 关键字声明内联函数

(3)内联函数声明时 inline 关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。

内联函数的特点

(1)C++编译器直接将内联函数的函数体插入到函数调用的地方

(2)内联函数没有普通函数调用时的额外开销(压栈、跳转、返回)

(3)C++中推荐使用内联函数替代宏代码片段。

(4)C++编译器也不一定满足函数的内联请求。

909.C++引用的意义

(1)功能性:引用在大多数情况下代替指针,可以满足需要使用指针的场合

(2)安全性:可以避开由于指针操作不当而带来的内存错误

(3)操作性:简单易用,又不失功能强大

910.C++引用的本质

(1)引用在 C++中的内部实现是一个常量指针,因此引用所占用的空间大小与指针相同。

(2)从使用的角度,引用只是一个别名,C++为了实用性而隐藏了引用的存储空间这一细节。

①在编译过程中,编译器看到 int& a 的声明就会转换为 int* const a;

②看到使用引用时,会转为*a,如此隐藏了使用指针的事实。

1000道c/c++经典面试题PDF,进官方交流群获取

—————————————Linuxc/c++高性能服务器开发网官方3群—————————————–



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3