码迷,mamicode.com
首页 > 编程语言 > 详细

c++面试问题的几个方向

时间:2014-09-10 22:17:01      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:io   使用   strong   问题   cti   sp   代码   on   c   

1 关于多态,面向对象的几个要点
作为面向对象的程序员,这个问题是必须要弄清楚的,网上、教科书上都是标准答案,关键是理解内涵哦。

2 关于虚函数表和RTTI
这个Inside C++ Object Model讲的相当明确
虚函数表的第一项就是关于RTTI的,RTTI就是Run Time Type Identification。
后面就是虚函数指针项了。
 
3 C++对象的内存布局
在引入了虚函数、继承、多继承、虚拟继承后,再加上内存对齐,这个问题就不那么简单了。
 
4 构造函数、析构函数与虚函数
一系列问题,作为一个C++程序员,这个务必要搞清楚。
 
5 虚函数的缺省参数问题
代码估计更能描述清楚问题:
class A
{
public:
    virtual void function(int type = 0) {...}   
}
 
class B : public A
{
public:
    virtual void function(int type = 2) {...} // 注意这里type缺省值被改成了2
}
这样改有什么问题呢?
我们知道virtual是动态绑定的,为了效率考虑,缺省参数这个问题是静态绑定的,这样一来上面的做法就会出现问题了。
如果能使用静态绑定和动态绑定来解释这个问题,那你就上了一个台阶了,我是从来没这样用过啊,不知道问题所在。有文章说没有吃过苦头的C++程序员不是好程序员,驯服不了C++这个怪物,此言非虚!?
 
6 关于运算符
重载的问题,运算符和函数
 
7 关于new与delete的形式

 
8 关于private继承
不知道多少人用过,用了又能有多少好处,而且有些语言已经禁止private继承了,纠缠这个有何意义呢。
 
9 关于STL的Iterator
STL有很多牛思想,不过我还没被问过,像Traits编程技法等等。面试常见的是,++前置与后置的效率问题。
 
10 关于C++的异常
C++有异常处理机制,虽然不够完善,但还是应该去仔细了解了解。
 
11 关于C++与C的效率问题
      这个问题最不好讲,效率的比较,环境是什么,先决条件又是什么呢,从语言层面讲C++比起C语言来主要的效率损失来自于virtual导致的非直接调用,这个Inside C++ Object Model讲的相当明确了。

c++面试问题的几个方向

标签:io   使用   strong   问题   cti   sp   代码   on   c   

原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/3965186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!