C++2x编程语言标准草案:最新进展与规定

需积分: 5 3 下载量 160 浏览量 更新于2024-07-08 收藏 6.53MB PDF 举报
C++ 2x Working Draft 是一份编程语言标准文档,针对 C++ 编程语言的实现提出了详细的要求。这份标准草案旨在规定 C++ 实现的必要条件,同时也定义了 C++ 的语法规则和特性。它在 2019年10月8日发布,基于之前的版本 N4830,并由 Richard Smith 代表 Google Inc. 编制,邮箱地址为 cxxeditor@gmail.com。 该文档的结构分为多个部分,包括范围、规范性引用、术语和定义、一般原则等。在第4章中,强调了实施者需确保语言的合规性和一致性,即所有实现都必须遵循标准规定的语法和语义。章节5详述了具体的语言元素,如字符集、预处理器符号、标识符、关键字、运算符和标点符号,以及不同类型的注释。此外,还有关于源代码的编译流程,如预处理阶段、词法分析和语法解析。 在基础部分(第6章),文档涵盖了程序的前置信息、声明与定义、一定义规则(避免编译时重复定义同一对象),以及作用域和名称查找机制。程序链接、内存管理和对象的创建与管理也在此处进行阐述。第6.8节专门讨论类型系统,包括基本类型、复合类型和类型转换规则。第6.9章则关注程序的执行流程,涉及变量的生命周期、表达式计算和控制流结构。 然而,值得注意的是,这份Working Draft是早期版本,可能存在不完整和错误的地方,格式也需要进一步优化。尽管如此,它依然是理解和开发C++程序的重要参考资料,对于开发者来说,理解并遵循这些规范是至关重要的,以确保编写的代码能够得到广泛的兼容和支持,并符合国际标准组织 ISO/IEC 的要求。 C++ 2x Working Draft 是一个全面且深入的文档,它不仅规范了C++语言的核心语法和行为,还为开发人员提供了指导,帮助他们编写出高质量、可移植的C++程序。通过学习和遵循这份草案,开发者可以确保他们的工作满足最新的C++标准,提升代码的稳定性和互操作性。

SELECT DISTINCT c.ID AS id, c.NAME AS contName, c.CONTRACT_NO AS contractNo, c.INSTANCE_ID AS instanceId, c.UNDERTAKE_DEPT_ID AS remindDeptId, c.UNDERTAKE_DEPT_NAME AS sendDeptName, c.CREATE_USER_ID, c.CREATE_USER_NAME AS contractOpteraterName, c.PLAN_STATE AS planState, c.PLAN_STATE_NAME AS planStateName, aw.INSTANCE_ID AS inId, aw.CREATE_TIME AS sendTime FROM ( SELECT c.* FROM ( SELECT c.* FROM ( SELECT c.ORIGINAL_CONTRACT_ID, MAX(CREATE_TIME) CREATE_TIME FROM CONTRACT_DRAFT.C_CONTRACT_INFO c WHERE c.ORIGINAL_CONTRACT_ID IS NOT NULL AND c.ORIGINAL_CONTRACT_ID != '' GROUP BY c.ORIGINAL_CONTRACT_ID ) t LEFT JOIN CONTRACT_DRAFT.C_CONTRACT_INFO c ON t.ORIGINAL_CONTRACT_ID = c.ORIGINAL_CONTRACT_ID AND t.CREATE_TIME = c.CREATE_TIME UNION ALL SELECT c.* FROM CONTRACT_DRAFT.C_CONTRACT_INFO c WHERE ( c.ORIGINAL_CONTRACT_ID IS NULL OR c.ORIGINAL_CONTRACT_ID = '' ) AND c.ID NOT IN ( SELECT c.ORIGINAL_CONTRACT_ID FROM CONTRACT_DRAFT.C_CONTRACT_INFO c WHERE c.ORIGINAL_CONTRACT_ID IS NOT NULL AND c.ORIGINAL_CONTRACT_ID != '')) c WHERE c.deleted_flag = 0 AND c.BELONG = 1 AND sysdate > c.end_date AND c.plan_state IN (4100, 4110, 4120, 4200, 4210, 4220, 5100, 5110, 5120) ) c INNER JOIN (SELECT INSTANCE_ID,create_time,state FROM CONTRACT_DRAFT.C_ACTIVITY_WORKITEMS WHERE state = 'Waiting') aw ON c.INSTANCE_ID = aw.INSTANCE_ID LEFT JOIN (SELECT deleted_flag,CONT_ID FROM CONTRACT_DRAFT.C_GET_PAY_PLAN WHERE deleted_flag = 0 ) g ON c.ID = g.CONT_ID LEFT JOIN CONTRACT_DRAFT.C_OUR_ENTITY_INFO oe ON c.OUR_ENTITY_ID = oe.ID AND oe.DELETED_FLAG = 0 ORDER BY aw.CREATE_TIME DESC 优化

2023-07-08 上传