标准对扩展C ++语言和添加“非标准”关键字有何看法?关键字必须以__(双下划线)开头,还是'常规',意味着以字母开头?如果我要创建C ++扩展并有一个新的关键字,我必须让它看起来像这样:
__new_keyword
或者它可以很简单:
new_keyword.
感谢。
答案 0 :(得分:2)
标准表示具有两个下划线的标识符是为编译器保留的。因此,如果您想要一种安全的方法在C ++编译器中添加语言扩展,那么这将是一种方法。请注意,如果您只是编写预处理器,则您使用的编译器可能与您选择的内容冲突。但由于预处理代码应该相当简单,因此不应该是一个问题。
如果我正在创建C ++ CAN扩展,我会使用以字母开头的关键字,或者我必须用下划线开始它们吗?
你 CAN 做你想做的事,因为它不是C ++,因此不必遵守任何事情。但是,如果要将与用户创建的名称的冲突保持在最低限度,标准会说C ++实现保留以两个下划线开头的标识符,以及以下划线后跟大写字母开头的标识符。
请注意,这只会阻止您与用户代码冲突。您仍然可能与标准库实现或您正在使用的任何编译器冲突。