`
jimmy_c
  • 浏览: 14713 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

衰落中的C++

阅读更多

不知不觉之中时间过了几年,忽然发觉C/C++在程序员中的地位已经大不如前了。搜索一下SourceForge,发现现在java和C#的项目当真不少,而C++的项目叫得出名的似乎还是原来那些老帮菜,没有多少新意。

这几天公司面试程序员,我出了几道c/c++的试题。说实话,我是非常不喜欢在面试时给人出太详细的笔试题的,但是因为招的人有c++的要求,就挑了几个我个人认为非常基础的问题考了一下,结果让人很吃惊,很多自称“精通C++”的孩子,居然连最简单的问题也会答错,不少还是清华出来的有工作经验的本科生,硕士生。贴出来让大家看看,是不是我的要求太高了。

1. 声明一个函数指针
2. int (*A)[];和
   int *A [] 有何不同?
3. C++中,struct是否可以有构造/析构函数?struct和class有何不同?
4. 声明一个模板类
5. #include <stdio.h>
   class A
   {
   public:
     void Func() { printf("A\n"); }
   };

   class B : public A
   {
   public:
     void Func() { printf("B\n"); }
   };

   int main()
   {
      A* a = new B();
      a->Func();
      delete a;
      return 0;
   }
6. 什么是虚函数表?
7. 写一个简单的递归函数计算N!
   int Factorial(int n)
   {
   }

   int main()
   {
     int n;
     cin >> n;
     printf("N!=%d\n", Factorial(n));
     return 0;
   }

8. 解释关键字:volatile; const

分享到:
评论
11 楼 林杰杰 2007-10-25  
哈哈,有个笔误。
10 楼 林杰杰 2007-10-25  
哈哈,那几个面试题我都做了,看看我说的对不对。
1. 声明一个函数指针
如:void (*fp_print)(char *s)
声明了一个函数指针,它指向一个接受一个char*型的参数,并且无返回值的函数。

2. int (*A)[];和
   int *A [] 有何不同?
前者声明了一个指针,它指向了一个以大小未知的数组为元素的数组。
后者声明了一个大小未知的以int*型为元素的数组。

3. C++中,struct是否可以有构造/析构函数?struct和class有何不同?
可以有。struct/class不同的地方是他们成员的默认访问权限不同,struct默认public,class默认private。

4. 声明一个模板类
template < typename T >
class MyClass;

5. #include
   class A
   {
   public:
     void Func() { printf("A\n"); }
   };

   class B : public A
   {
   public:
     void Func() { printf("B\n"); }
   };

   int main()
   {
      A* a = new B();
      a->Func();
      delete a;
      return 0;
   }

输出:A(换行)

6. 什么是虚函数表?
虚函数表实际上是处于类头部的一个函数入口地址表,用于实现在运行时确定函数入口,实现多态。

7. 写一个简单的递归函数计算N!
   int Factorial(int n)
   {
   }

   int main()
   {
     int n;
     cin >> n;
     printf("N!=%d\n", Factorial(n));
     return 0;
   }

int Factorial (int n)
{
return n > 1 ? n * Factorial(n - 1) * n : 1;
}

8. 解释关键字:volatile; const
volatile是指被修饰的变量随时会被修改,要求编译器不要对这个变量作任何优化。
const表示被修饰的变量不能被修改,是一个常量。当它放在类成员函数的参数列表后面时,表示这个成员函数不会修改所在类的其它成员变量。

大家给评个分。
9 楼 王者之剑 2007-10-24  
几年不用都忘光了
8 楼 lova 2007-10-24  
学习计算机技术,应该以市场需求和基础开发为导向,不能太过于轻浮,势力!
7 楼 bigpanda 2007-10-09  
写简历吹吹牛无可厚非,现在毕竟是要自我推销,打造品牌的时代。

不过既然写精通,就好好花花时间练练内功,给人揭穿了就丢脸了。说句实在话,大多数面试题都不难,只要粗通,就可过关了。

我也想好好再敲打敲打Assembler,不过没空。一大梦想是有天经济自由了,给FreeBSD做做贡献去。
6 楼 mathgl 2007-10-08  
hehe it is the same for assembler
however, when engaging embedded development, your skills in assembler is still helpful, and means good pay sometimes.
5 楼 zzg810314 2007-10-07  
这年头简历应该怎么写,不写精通简历没人看,写了精通又被人当成吹牛,没个中间过渡啊!的确还精通一门语言真的很难
4 楼 oldrev 2007-10-07  
下次见到敢号称“精通C++”的人甭废话直接抽就行了
3 楼 Eastsun 2007-10-05  
基础语言C就够了,C++当基础...太奢侈了
2 楼 ottojiang 2007-10-05  
我觉得c/c++应该作为基础语言学习,虽然不一定用来做开发
1 楼 bigpanda 2007-10-05  
时代在发展,有更新更强大的语言了呗。

要是“精通C++”而那几个问题都答不出来的话,买块豆腐撞死吧。

相关推荐

    使用C++仿真瑞利信道获得数据,再通过matlab画图

    首先用C++仿真方法或其它方法模拟多普勒扩展的频谱和Rayleigh衰落信道;然后利用Rayleigh衰落仿真器模拟具有多径时延扩展的衰落信道(即频率选择性衰落信道)使用c++仿真瑞利信道获得信道数据,使用“Y. R. Zheng ...

    仿真衰落信道的Matlab代码

    详细仿真整个通信系统的过程,其中用到信道编码,交织纠错来对抗衰落信道,得出各种情况的比较图。

    c++小型开发平台

    C语言从Unix的兴起一直到现在,在业内历经40年而从未衰落过。C语言作为非常古老的高级语言,至今风行了40年,从未过时。而且C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言...

    pudncelluarcpp.rar

    通过C++平台搭建基于移动通信的蜂窝网络仿真环境,进行大尺度衰落(路径损耗,阴影衰落)建模仿真,模拟建立用户的移动轨迹

    NS-2无线物理层实现与衰落功能扩展研究 (2014年)

    针对NS-2仅实现理想信道而未考虑信道衰落效应的问题,给出扩展信道衰落功能的一般计算步骤,并以瑞利衰落为例在NS-2无线物理层中实现。UDP和TCP传输性能在引入瑞利衰落后有较大不同,体现了无线传输的不确定性。单链...

    多时间尺度短波信道模型在NS2环境下的实现* (2014年)

    在实现短波信道衰落模型时,按需在C++中调用 VOACAP计算慢衰落,使用对数正态分布模拟中等时间尺度的衰落,使用瑞利分布来模拟快衰落。仿真结果表明,此模型能够较好地反映短波信道的衰落特点,不同频率的衰落随时间...

    论文研究-改进型的SCM信道建模研究 .pdf

    改进型的SCM信道建模研究,谢洁,李平安,MIMO信道物理建模是建立在径和相关性的基础之上的,根据衰落对信道造成的影响,可以将其分成大尺度衰落和小尺度衰落两种情况,并��

    channel.zip_Windows编程_C/C++__Windows编程_C/C++_

    仿真一个4QAM信号通过莱斯因子为2的随机衰落信道和AWGN信道的过程,计算不同信噪比下的误码率。在Visual Studio下使用IT++仿真。

    FadeLed:使Arduino上的衰落LED变得容易

    淡入淡出使Arduino上的衰落LED变得容易。 蒂莫·恩格尔格(Timo Engelgeer)(9月) v1.4.0版中的新功能: Gamma校正。 从v1.4.0版本开始,库随着伽玛校正而淡出。 现在,这是默认行为。 这还将默认范围设置为0到100...

    dodo-lang:即将到来的文明衰落的语言

    渡渡郎即将到来的文明衰落的语言查看examples /文件夹,以了解该语言的语法和语义。建筑只需使用任何现代Python 3版本运行build.py脚本即可。您的路径中需要具有相对较新版本的MSVC编译器工具(cl.exe)。

    无线网络中节点均匀分布的解码转发机会中继性能分析 (2012年)

    在考虑路径损耗及块衰落独立信道条件下,分别推导和分析了两节点间采用传统机会中继和增量机会中继方式下的中断概率和网络传输容量。数值仿真结果表明,虽然空间随机分布破坏了中继节点提供的分集阶数,但机会中继仍...

    Longley-Rice model代码.rar_Longley-Rice_Longley-Rice模型_link budget

    经典无线链路预算模型,预测了在自由空间中由地形的非规则性造成的中值传输衰落。该模型适用于频段为20MHz至40GHz、路径长度为1km至2000km的情况。对于给定的传输路径,该计算机程序通过频率、路径长度、极化方向、...

    mac_capacity_bounds:MAC 总速率容量的上限和下限代码

    MAC容量界限用于计算瑞利块衰落信道的 MAC 总速率容量的上限和下限的数值例程,在发射机和接收机处没有可用的先验 CSI。依赖关系代码是用 C/C++ 编写的,使用以下库GNU 科学库(1.14 版) IT++(版本 4.3.1) 提升...

    simulte:统一性-用于INET的LTE系统级仿真模型,可仿真整个++

    分配管理资产管理公司计划政策(MAX C / I,比例公平,DRR) 物理层异构网(HetNets)支持:宏,微型,微微eNbs 渠道反馈管理虚拟通道模型现实的渠道模型小区间干扰路径损耗快速衰落遮蔽各向同性天线

Global site tag (gtag.js) - Google Analytics