zoukankan      html  css  js  c++  java
  • 条目六《当心C++编译器中最烦人的分析机制》

    当心C++编译器中最烦人的分析机制

    C++是较为底层的面相对象语言,在底层的语法规则分析中,有很多隐藏的分析机制。

    C++中的普遍规律相符,即尽可能地解释为函数声明。

    把形式参数的声明用括号括起来是非法的,但给函数参数加上括号却是合法的,所以通过增加一对括号,我们强迫编译器按我们的方式来工作。

    例如:
    ![](file:///storage/emulated/0/Pictures/Screenshots/IMG_20181223_210753.jpg)
    这样是不正确的,因为形参含有括号

    争取做法:
    ![](file:///storage/emulated/0/Pictures/Screenshots/IMG_20181223_210929.jpg)
    用一个括号包括整个形参是可以的。

    但是种做法并不是所有的编译器都能识别的,所以存在可移植性问题,在跨平台是可能会出现问题。

    解决方法:
    ![](file:///storage/emulated/0/Pictures/Screenshots/IMG_20181223_211533.jpg)
    使用临时命名迭代器来分步完成需求。

    虽然这样做与标准STL使用有点违背了,但是为了没有二义性和提高代码可读性和方便维护是比较提倡的。

  • 相关阅读:
    6-8 adaboost分类器2
    6-7 adaboost分类器1
    6-6 Haar特征3
    6-5 Haar特征2
    6-4 Haar特征1
    6-3 图片合成视频
    6-2 视频分解图片
    Linux操作系统六大优点
    Linux系统正则表达式用法笔记
    Linux系统正则表达式用法笔记
  • 原文地址:https://www.cnblogs.com/liangjf/p/10165697.html
Copyright © 2011-2022 走看看