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

  • 相关阅读:
    golang通知协程退出
    Linux Centos7下安装Elasticsearch
    es
    Laravel 别名 Facades的用法
    SVN使用时遇到的小问题
    http 重定向到 https
    Git-版本回退
    selenium---上传文件(非input标签)
    selenium---生成BeautifulReport报告
    windows搭建ngnix图片服务器
  • 原文地址:https://www.cnblogs.com/liangjf/p/10165697.html
Copyright © 2011-2022 走看看