MS笔试中的一个关于函数返回的“小”题
2015-04-09 20:29
246 查看
Which of following C++ code is correct ?
A.
int f() { int *a = new int(3); return *a; }
B.
int *f() { int a[3] = {1,2,3}; return a; }
C.
vector<int> f() { vector<int> v(3); return v; }
D.
void f(int *ret) { int a[3] = {1,2,3}; ret = a; return ; }
这题考察的是程序中的内存分配,A中指针a是位于栈上,a指向的内存位于堆中,能够返回整型但是会有内存泄漏。
B中数组a为栈上数据,函数返回后自动释放,故返回a指针不能返回数组数据。
C中返回的的是向量,过程实际上是通过临时变量拷贝到指定的变量中,正确。
而D错误与B类似。
总结一句,基础不牢,地动山摇。
相关文章推荐
- 笔试题目1:写一个函数,返回一个数组中所有元素被第一个元素除的结果
- 一个关于GetSubMenu函数返回0的问题
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 关于编写一个函数invert(x,p,n),返回x循环右移n位后得到的值,the c programming language 第二章练习2-8
- 关于返回一个引用类型的函数的用法和见解
- 一个关于函数内部指针参数返回的错误调试及分析
- 关于fork()函数以及一个关于fork的笔试题
- 用C语言编写一个函数返回参数二进制中 1 的个数(3种方法)(谷歌笔试题)
- WinSocket套接字关于Connect函数通过GetLastError 返回10038或者(在一个非套接字上尝试了一个操作)
- 计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
- 关于函数的返回值是一个接口类型的对象
- 关于const做函数返回值的 一个解释
- 做一个返回数组的函数 DELPHI
- C++笔试题 关于函数析构函数未调用的问题
- 一个函数返回多个值
- 推荐一函数:返回一个指定个数的字符串!
- 一个函数返回两值的通用实现方法(简单,备忘)
- 关于shell 函数得返回值得取得
- 监控函数的执行时间,若超时则强制返回一个默认值
- 一个oracle函数返回数组的例子