课程咨询 :0571-56020834 QQ:1633630073

杭州达内T计划培训

杭州嵌入式培训 > 雇主企业 > 企业面试题 > 关键字const是什么含意?
  • 关键字const是什么含意?

    发布:杭州达内      来源:达内培训      时间:2015-09-14



  • 我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。
    去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded
    Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从
    没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个答案不是完全的
    答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks
    的文章吧。)如果应试者能正确回答这个问题,我将问他一个附加的问题:下面的声明都
    是什么意思?

    const int a;
    int const a;
    const int *a;
    int * const a;
    int const * a const;

    前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也
    就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也
    就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一
    个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不
    可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提
    一句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那
    么我为什么还要如此看重关键字const呢?我也如下的几下理由:
    1). 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数
    为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃
    圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃
    圾让别人来清理的。)
    2). 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
    3). 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其
    被无意的代码修改。简而言之,这样可以减少bug的出现。

    Volatile     

    推荐文章

上一篇:编写算法,从10亿个浮点数当中,选出其中最大的10000个

下一篇:写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

最新开班日期  |  更多

嵌入式--免费训练营

嵌入式--免费训练营

开班日期:每月底

嵌入式--高薪就业班

嵌入式--高薪就业班

开班日期:每月底

嵌入式--零基础周末班

嵌入式--零基础周末班

开班日期:每月底

嵌入式--零基础全日制班

嵌入式--零基础全日制班

开班日期:每月底

  • 地址:杭州市西湖区文三路199号创业大厦
  • 课程培训电话:0571-56020834 QQ:1633630073     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56