• Day2:面试必考题目


    Day2:面试必考题目


    请添加图片描述

    题目一

    关于引用以下说法错误的是( )。(阿里巴巴2015笔试题) E

    A.引用必须初始化,指针不必

    B.引用初始化以后不能被改变,指针可以改变所指的对象

    C.不存在指向空值的引用,但是存在指向空值的指针

    D.一个引用可以看作是某个变量的一个“别名”

    E.引用传值,指针传地址

    F.函数参数可以声明为引用或指针类型

    解析:

    A.引用必须初始化,必须在定义引用时明确引用的是哪个变量或者对象,否则语法错误,指针不初 始化时值为随机指向

    B.引用一旦定义时初始化指定,就不能再修改,指针可以改变指向

    C.引用必须出示化,不能出现空引用,指针可以赋值为空

    D.简单粗暴的引用理解可以理解为被引用变量或对象的"别名"

    E.引用表面好像是传值,其本质也是传地址,只是这个工作有编译器来做,所以错误

    F.函数调用为了提高效率,常使用引用或指针作为函数参数传递变量或对象

    题目二

    “引用”与指针的区别是什么( ) A

    A.指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作

    B.引用通过某个引用变量指向一个对象后,对它所指向的变量间接操作。程序中使用引用,程序的可读性差;而指针本身就是目标变量的别名,对指针的操作就是对目标变量的操作

    C.指针比引用更节省存储空间

    D.以上都不正确

    解析:

    A.指针是间接操作对象,引用时对象的别名,对别名的操作就是对真实对象的直接操作,故正确

    B.很显然,答案刚好相反

    C.指针需要开辟空间,引用不需要开辟空间,故错误

    D.一山不容二虎,A正确,D如何是好

    题目三

    关于引用与指针的区别,下面叙述错误的是( ) B

    A.引用必须被初始化,指针不必

    B.指针初始化以后不能被改变,引用可以改变所指的对象

    C.删除空指针是无害的,不能删除引用

    D.不存在指向空值的引用,但是存在指向空值的指针

    解析:

    A.引用必须定义时初始化,指针不初始化其值为随机指向

    B.指针可以改变指向,引用不能,故错误

    C.空指针没有任何指向,删除无害,引用是别名,删除引用就删除真实对象

    D.引用必须初始化,所以不能为空引用,指针可以

    题目四

    在( )情况下适宜采用 inline 定义内联函数 C

    A.函数体含有循环语句

    B.函数体含有递归语句

    C.函数代码少、频繁调用

    D.函数代码多,不常调用

    解析:

    A.含有循环语句,违背内联函数的本质

    B.含有递归语句,违背内联函数的本质

    C.尽可能把代码短小,频繁调用的函数设置为内联函数

    D.含代码量大,违背内联函数的本质

    内联函数是一种建议,如果函数内部包括循环,递归,或者代码量大且复杂,这些函数即使设置了内联函数,系统也不会当做内联函数来处理

    题目五

    关于c++的inline关键字,以下说法正确的是( ) C

    A.使用inline关键字的函数会被编译器在调用处展开

    B.头文件中可以包含inline函数的声明

    C.可以在同一个项目的不同源文件内定义函数名相同但实现不同的inline函数

    D.递归函数也都可以成为inline函数

    解析:

    A.不一定,因为inline只是一种建议,需要看此函数是否能够成为内联函数

    B. inline函数不支持声明和定义分离开,因为编译器一旦将一个函数作为内联函数处理,就会在调用位置展开,即该函数是没有地址的,也不能在其他源文件中调用,故一般都是直接在源文件中定义内联函数的

    C.inline函数会在调用的地方展开,所以符号表中不会有inline函数的符号名,不存在链接冲突

    D.比较长的函数,递归函数就算定义为inline,也会被编译器忽略,故错误

  • 相关阅读:
    anaconda使用系列教程--2)conda命令选项
    Java 并发编程基础 --Synchronized
    (ICCV 2021) Hierarchical Aggregation for 3D Instance Segmentation
    Liunx文件目录操作命令(cd、pwd、ls、mkdir、rmdir)
    删除的短信怎么恢复?专业与非专业方法的全面比较
    Direct3D拾取
    C++11绑定器bind及function机制
    Docker的安装
    PLS-00172 string literal too long ORA-06550 字段太长插入不进去数据库
    Window Server2008配置https
  • 原文地址:https://blog.csdn.net/qq_29678157/article/details/126136273