设为首页 加入收藏

TOP

C/C++面试问题分类大汇总(二)
2014-09-23 08:57:05 来源: 作者: 【 】 浏览:345
Tags:C/C 面试 问题 分类 汇总
全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内

  • 描述内存分配方式以及它们的区别

    1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。

    2. 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。

    3. 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。

  • 类成员函数的重载、覆盖和隐藏区别?

    1.成员函数被重载的特征:

    (1)相同的范围(在同一个类中);

    (2)函数名字相同;

    (3)参数不同;

    (4)virtual 关键字可有可无。

    2.覆盖是指派生类函数覆盖基类函数,特征是:

    (1)不同的范围(分别位于派生类与基类);

    (2)函数名字相同;

    (3)参数相同;

    (4)基类函数必须有virtual 关键字。

    3.”隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

    (1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

    (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)

  • static有什么用途?(请至少说明两种)

    1.限制变量的作用域

    2.设置变量的存储域

  • 请说出const与#define 相比,有何优点?

    1.const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。

    2.有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。

    堆栈溢出一般是由什么原因导致的?

    没有回收垃圾资源

     

  • 简述数组与指针的区别?

    数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。

    (1)修改内容上的差别

    char a[] = “hello”;

    a[0] = ‘X’;

    char *p = “world”; // 注意p 指向常量字符串

    p[0] = ‘X’; // 编译器不能发现该错误,运行时错误

    (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。

    char a[] = “hello world”;

    char *p = a;

    cout<< sizeof(a) << endl; // 12 字节

    cout<< sizeof(p) << endl; // 4 字节

    计算数组和指针的内存容量

    void Func(char a[100])

    {

    cout<< sizeof(a) << endl; // 4 字节而不是100 字节

    }

  • There are two int variables: a and b, don’t use “if”, “  :”, “switch”or other judgement statements, find out the biggest one of the two numbers.

    ( ( a + b ) + abs( a – b ) ) / 2

  • 冒泡排序算法的时间复杂度是什么?

    O(n^2)

  • 什么函数不能声明为虚函数?

    构造函数(Constructor)

  • 变量在内存中存放的位置
  • 全局变量                    全局静态区

    全局静态变量                全局静态区

    全局常量

            有初始化            代码区

            无初始化            全局静态区

    局部变量                    堆栈区

    局部静态变量                静态区

    局部常量                  &nbs

    首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/11/11
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    分享到: 
    上一篇C++ 数据结构、算法笔试题 下一篇关于C++ Traints——网易09年笔试..

    评论

    帐  号: 密码: (新用户注册)
    验 证 码:
    表  情:
    内  容: