• 条目六《当心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使用有点违背了,但是为了没有二义性和提高代码可读性和方便维护是比较提倡的。

  • 相关阅读:
    阴影及定位
    选择器高级、样式及布局
    css的导入与基础选择器
    html知识
    ORM
    python实现进度条
    MySQL单表查询
    一、HTTP
    mysql4
    练习——MySQL
  • 原文地址:https://www.cnblogs.com/liangjf/p/10165697.html
Copyright © 2020-2023  润新知