当前位置: 首页 > article >正文

【MISRA C 2012】Rule 4.2 不应该使用三连符

  • 1. 规则
    • 1.1 原文
    • 1.2 分类
  • 2. 关键描述
  • 3. 代码实例

1. 规则

1.1 原文

Rule 4.2 Trigraphs should not be used
Category Advisory
Analysis Decidable, Single Translation Unit
Applies to C90, C99

1.2 分类

规则4.2:不应该使用三连符
Advisory建议类规范。

2. 关键描述

三字母由两个问号组成的序列,后面跟着一个指定的第三个字符(例如?? ?)-表示~(波浪)字符,??)表示[]。它们可能会与两个问号的其他用法意外混淆。

注:所谓有向图:

<::> <% %> %:%: %:

,因为它们是令牌。在预处理之前,三字符在程序中出现的任何地方都会被替换。

3. 代码实例

例1,规范中例程:

For example the string
"(Date should be in the form ??-??-??)"
would not behave as expected, actually being interpreted by the compiler as
"(Date should be in the form ~~]"

http://www.kler.cn/news/136380.html

相关文章:

  • Rust初踩坑
  • 使用RabbitMQ实现延迟消息的完整指南
  • vue3 选中对话框时,对话框右侧出一个箭头
  • RAG技术
  • LVGL第二篇-组件创建与显示(以slider为例)
  • 2024年双十一有什么好物推荐?盘点2024双十一爆款好物分享
  • 最强英文开源模型Llama2架构与技术细节探秘
  • ChatGPT API 学习
  • C#,数值计算——插值和外推,分段线性插值(Linear_interp)的计算方法与源程序
  • Nginx - 本机读取服务器图像、视频
  • 《 机器人基础 》期末试卷(A)
  • SpringBoot中日志的使用log4j
  • 【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者
  • Ubuntu18.04安装IgH主站
  • 深入理解 @TableName 和 @TableField 注解
  • Python 技巧大揭秘,网络时间和本地时间轻松搞定
  • Java基础-----StringBuffer和StringBuilder
  • (十二)Flask重点之session
  • 【练习】检测U盘并自动复制内容到电脑的软件
  • Linux latin1字符集转成UTF-8
  • Vue3中使用Element-Plus分页组件
  • 基于单片机K型热电偶温度采集报警系统
  • 竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉
  • 2.4 矩阵的运算法则
  • 【机器学习】037_暂退法
  • Redis学习笔记14:基于spring data redis及lua脚本ZSET有序集合实现环形结构案例及lua脚本如何发送到redis服务器