推广 热搜: 百度  搜索引擎  企业  可以  选择  使用  page  机械设备  参数  上海 

C/C++面试题之语言基础篇(一)

   日期:2025-01-01     作者:kykrd    caijiyuan  
核心提示:准备C/C++面试需要深入研究语言基础知识,掌握控制流结构、函数、指针和标准库,同时准备好回答各种与C/C++编程相关的问题,这将

准备C/C++面试需要深入研究语言基础知识,掌握控制流结构、函数、指针和标准库,同时准备好回答各种与C/C++编程相关的问题,这将有助于你在面试中脱颖而出。希望这些建议对你有所帮助,祝你面试顺利!

C++特点:

对象特点:

c的三大特点是:

继承中的三个修饰符

与C语言区别:

6.1 malloc()与free ()是C语言的标准库函数,new/delete是C++的运算符,所以new/delete不 需要头文件进行声明; 6.2 new/delete可以调用构造函数和析构函数;

是通用指针类型,被称为"无类型指针"。可以用来指向任何数据类型的内存地址。使用 指针时需要谨慎,必须进行类型转换

示例(int 型转换):

因为不提供类型检查,可能导致运行时类型错误。

换个问法:说说C++结构体和C结构体的区别

对于#include <a.h>,编译器从标准库路径开始搜索a.h 对于#include "a.h",编译器从用户的工作路径开始搜索a.h

有四个过程,预编译、编译、汇编、链接

实际的错误通常发生在链接阶段,当链接器尝试将所有编译单元(源文件)组合在一起时。如果在链接过程中找不到函数的定义,链接器会生成一个"未定义的引用"错误。

对于C语言的全局和静态变量,初始化发生在代码执行之前,属于编译期初始化。 对于C++:全局或静态对象对象首次用到时才进行构造。

区别:

内联函数的作用:提高程序的性能。

先看到实现代码:

赋值顺序不同:++ i 是先加后赋值;i ++ 是先赋值后加;

查看链接:

查看链接:

传参方式有这三种:值传递、引用传递、指针传递

值传递:形参即使在函数体内值发生变化,也不会影响实参的值;

引用传递:形参在函数体内值发生变化,会影响实参的值;

指针传递:在指针指向没有发生改变的前提下,形参在函数体内值发生变化,会影响实参的值;

默认构造函数:默认构造函数没有参数,它用于创建对象的默认初始化。如果你没有为类定义构造函数,并且没有提供初始化值,编译器会自动生成一个默认构造函数。

带参数的构造函数 :带参数的构造函数接受一个或多个参数,用于初始化对象的成员变量。

拷贝构造函数:拷贝构造函数用于在创建一个对象时,将另一个对象的值复制到新对象中。它通常以引用参数传递另一个对象。

它是单个参数的构造函数,其参数是与它同属一类的对象的(常)引用;类定义中,如果未提供自己的拷贝构造函数,C++提供一个默认拷贝构造函数,该默认拷贝构造函数完成一个成员到一个成员的拷贝,属于浅拷贝

浅拷贝(默认拷贝函数)︰将原对象或原数组的引用直接赋给新对象,新数组,新对象/新数组只是原对象的一个引用。 深拷贝∶创建一个新的对象和数组,将原对象的各项属性的"值”(数组的所有元素)拷贝过来,是“值",深拷贝会在堆内存Q中另外申请空间来储存数据,从而解决了指针悬挂问题。 注意:当数据成员中有指针时,必须要用深拷贝

左值是能够出现在表达式左边的值如变量,右值是只能出现在等号右边的值,如常量。

目的

用于将左值强制转换为右值引用,然后原来的x变成空串。

示例中, 最初指向”hello,world!“。使用 后, 的内容被移动到了 ,而 变成了一个空字符串。

strcpy 是标准C库函数,用于将一个字符串复制到另一个字符串中。然而它不检查源字符串的长度,可能会导致缓冲区溢出,引发安全漏洞。

需要逐个比较它们的成员变量(字段)

在继承关系中,子类(派生类)通常可以访问父类(基类)的以下成员变量和成员函数,具体访问权限取决于这些成员的访问控制修饰符:

本文地址:http://ww.kub2b.com/tnews/4097.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号