zoukankan      html  css  js  c++  java
  • C/C++笔试面试系列之一

    1.在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"?

    答案:C++语言支持函数重载,C语言不支持函数重载。 函数被C++编译后在库中的名字与C语言的不同。 假设某个函数的原型为void foo(int x, int y)。 该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++提供了C连接交换指定符号extern "C"解决名字匹配问题。

    2.头文件中的ifndef/define/endif是干什么用的?

    答案:防止该头文件被重复引用。

    3.评价一下C与C++的各自特点。 如果一个程序既需要大量运算,又要有一个好的用户界面,还需要与其他软件大量交流,应该怎样选择合适的语言?

    答案:C是一种结构化语言,重点在于算法和数据结构。 C程序的设计首先考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 而对于C++,首先考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。对于大规模数值运算,C/C++Java/.NET之间没有明显的性能差异。 不过,如果运算设计向量计算、 矩阵运算,可以使用FORTRAN或者MATLAB编写计算组件(如COM)。大规模用户界面相关的软件可以考虑使用.NET进行开发(Windows环境下),而且.NETCOM之间的互操作十分容易,同时.NET对数据库访问的支持也相当好。

  • 相关阅读:
    根据dateFormatter创建NSDate类型数据
    centos6.5下oracle自动备份删除指定天数的文件
    svg-edit和svg中的自定义属性
    vc读取当前路径和读取配置ini文件
    powerdesiner技巧
    oracle理解和导入导出
    highstock无图像
    winform中datagridview刷新后的排序记忆
    freemarker取数
    winform clickonce在线安装
  • 原文地址:https://www.cnblogs.com/shutter/p/4746378.html
Copyright © 2011-2022 走看看