`

C++笔试问答题目集合

    博客分类:
  • C++
 
阅读更多
微软等面试100题答案V0.2版[第1-20题答案]
http://blog.csdn.net/v_july_v/article/details/6126406

http://www.cnblogs.com/fangyukuan/archive/2010/09/18/1829871.html

1. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。

2. 将“引用”作为函数参数有哪些特点?
(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。

(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。

(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。而引用更容易使用,更清晰。


3. 在什么时候需要使用“常引用”? 
如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名;

例1
int a;
constint&ra = a;
ra = 1; // 错误
a = 1; // 正确



例2
string foo( );
void bar(string&s)
// 那么下面的表达式将是非法的:
bar(foo( ));
bar("hello world");


原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。

引用型参数应该在能被定义为const的情况下,尽量定义为const 。
分享到:
评论

相关推荐

    各大公司C++笔试题集合

    本资源集合包含了各大公司在C++笔试环节可能会遇到的各种题目,旨在帮助求职者进行充分的准备。 C++的基础知识包括但不限于语法、数据类型、控制结构、函数、类与对象、模板等。首先,你需要理解C++的基本语法,如...

    c++面试题目题目集合 完美的笔试面试

    本资料包“c++面试题目题目集合 完美的笔试面试”包含了丰富的C++面试题,旨在帮助求职者提升应对笔试和面试的能力。 一、C++基础 1. **变量与数据类型**:理解基本数据类型(如int, float, double, char)以及...

    C++笔试题(很全的)

    标题中的"C++笔试题(很全的)"表明这是一份关于C++编程语言的面试或测试题目集合,主要涉及C++的高级特性,如多态性、文件操作以及程序控制流程等方面。描述中提到了几个具体的C++知识点,下面我会详细解释这些知识...

    各大公司常见C/C++笔试题整理,含答案。

    标题中的“各大公司常见C/C++笔试题整理,含答案”指的是这是一份集合了多个知名公司在招聘过程中可能会出现的C/C++编程语言的笔试题目,这些题目通常用于测试应聘者对C/C++语言的基本理解、语法掌握以及编程能力。...

    大量C/C++笔试题

    这份“大量C/C++笔试题”集合涵盖了从基础知识到深入概念的各种问题,旨在帮助求职者在面试过程中表现出色。以下是一些重要的C/C++知识点,结合题目可能会涉及到的内容进行详尽阐述。 1. **基本语法**:这是C/C++...

    C++笔试经典题目

    本资料集“C++笔试经典题目”包含了多方面的C++知识点,旨在帮助考生熟悉并掌握C++的基础和高级概念。 1. **基本语法与数据类型**:C++的基本语法包括变量声明、类型转换、运算符优先级等。数据类型包括基本类型...

    C++笔试题及答案大全

    这个“C++笔试题及答案大全”集合了多年的考试题目和解答,对于学习者和求职者来说,是提升C++技能和准备面试的宝贵资源。 一、基础知识 C++的基础知识包括语法、数据类型、运算符、流程控制等。在笔试题中,可能会...

    C++笔试题资料大全.rar

    《C++笔试题资料大全》是一份集合了众多经典C++笔试题目的资源包,旨在帮助正在寻找工作或准备面试的编程爱好者提升自己的C++技能。C++是一种强大的、通用的编程语言,广泛应用于系统软件、游戏开发、金融服务等多个...

    C/C++笔试题面试题文档集合

    本资料“C/C++笔试题面试题文档集合”正是针对这一需求精心整理的一份资源,旨在帮助应聘者准备C++相关的笔试和面试。 首先,这份文档可能涵盖C++的基本语法,包括变量声明、数据类型、运算符、流程控制语句(如if-...

    java c++ 笔试题集合

    "Java C++ 笔试题集合"这个资源显然包含了多种编程语言和技术的相关题目,旨在帮助准备面试或者自我提升的开发者进行深入学习。以下是这些标签所涉及的一些核心知识点: 1. **Java**: Java是一种广泛使用的面向对象...

    华为C/C++笔试题

    【华为C/C++笔试题】是针对准备华为公司招聘过程中的C和C++编程技能考核的一系列题目集合,这些题目通常涵盖了C/C++语言的基础、进阶和实战应用等多个方面,旨在评估候选人的编程能力、逻辑思维以及问题解决技巧。...

    最近找工作用到的C++笔试相关试题集合

    常考的C++笔试题目集合,大多数公司都用碰到,供找工作的朋友借鉴。

    c++笔试题——面试题

    标题中的"C++笔试题——面试题"提示我们这是一份包含C++相关的考试或面试问题的集合,旨在帮助准备进入IT行业的程序员熟悉和掌握C++的基础知识和常见问题。描述中提到,这份资料包含了各大软件公司的笔试题和面试题...

    Java&C++笔试面试题大全

    这份"Java&C++笔试面试题大全"很可能包含了大量关于这两门语言的基础知识、高级特性、算法和数据结构等方面的题目,旨在帮助求职者准备这些挑战。 首先,让我们深入了解一下Java。Java是一种面向对象的语言,以其...

    C和C++笔试题----不错的笔试参考资料

    "C和C++笔试题----不错的笔试参考资料"这个压缩包文件显然是为了帮助应聘者准备C/C++相关的技术笔试和面试。下面将详细阐述这两个编程语言的关键知识点。 1. **基本语法和数据类型**: - C语言的基础包括变量、...

    C++笔试合集.zip

    "笔试题.docx"可能是通用的C++笔试题目集合,包含各类常见问题,适用于多种面试场景。 总的来说,这个《C++笔试合集》是学习和准备C++笔试的理想资源,它可以帮助考生全面了解C++编程的知识点,提升解题速度和准确...

    C、C 、Java及软件测试的笔试、面试题集合Version2

    题目很多,网上流传的笔试题大部分都收集在里头,目前来说是比较齐全的,是目前哈,特别适合应届毕业生。想进金山的要看喔~} 在原来的基础上我加了点我做过的题,题不可能面面俱到,收录的只是以前常见常做的,不同...

    java c++ 笔试面试题目

    【Java和C++笔试面试题目解析】 在求职过程中,Java和C++作为两种广泛应用的编程语言,其笔试面试题目往往涵盖了广泛的知识点。对于应聘者来说,熟悉并掌握这些题目中的核心概念和技术至关重要。 1. **Java基础...

    c++面试笔试题库 附答案

    这个部分包括了多个C++笔试题,例如求下面函数的返回值、什么是“引用”等。这些题目都是C++基础知识的考察,考察了面试者的基本编程能力和C++语言的理解能力。 (续) 4. 引用 引用是一个非常重要的概念,在C++...

    c++笔试题大全

    【C++笔试题大全】是针对互联网IT行业面试者准备的资源集合,涵盖了近年来知名企业笔试中出现的C++题目。这些题目旨在考察应聘者的C++编程基础、理解能力和问题解决能力。 1. 多态性与`virtual`关键字:在C++中,...

Global site tag (gtag.js) - Google Analytics