语言扩展和新关键字

Language extensions and new keywords

本文关键字:关键字 扩展 语言      更新时间:2023-10-16

关于扩展c++语言和添加'非标准'关键字的标准是怎么说的?关键字是否必须以__(双下划线)开头,或者可以"常规",即以字母开头?如果我要创建c++的扩展,并有一个新的关键字,我是否必须使它看起来像这样:

__new_keyword  

或者简单点:

new_keyword.  

谢谢。

标准规定带有两个下划线的标识符是为编译器保留的。所以,如果你想用一种安全的方式在你的c++编译器中添加语言扩展,这将是一种方法。请注意,如果您只是在编写预处理器,那么您使用的编译器可能与您选择的编译器相冲突。但是由于预处理的代码应该相当简单,所以这应该不是问题。

如果我正在创建c++扩展,我可以使用以字母开头的关键字吗?或者我必须以下划线开头吗?

可以做任何你想做的事,因为它不是c++,因此不需要遵循任何东西。但是,如果您希望将与用户创建的名称的冲突降到最低,标准规定以两个下划线开头的标识符由c++实现保留,以下划线后跟大写字母开头的标识符也是如此。

注意,这只会阻止您与用户代码发生冲突。您仍然可以与您的标准库实现或您正在使用的任何编译器发生冲突。