C++中类似 Java 的注释

2022-09-01 03:19:20

C++中是否有类似Java的注释?

例如,@Override注释将一个函数标记为它重写了另一个函数,如果它不重写,它将在编译时给出错误。

我正在寻找这样的东西C++。


答案 1

C++11提供了对广义属性的支持,这些属性可以看作是Java注释的超集,因为它们不仅可以应用于变量/函数,还可以应用于语句等。但是C++11只定义了广义属性的语法,而不是用户定义它们的方法。

本文很好地概述了广义属性http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generalized-attributes/

GCC 从版本 4.8 开始支持此功能,根据:http://gcc.gnu.org/projects/cxx0x.html

为了实现对用户定义属性的支持,编译器插件很有前途,特别是基于高级语言集成,如 https://fedorahosted.org/gcc-python-plugin/


答案 2

C++0x将具有此功能,您可以在其中显式指定成员函数是否要覆盖基类的函数,使用编译器生成的默认实现等等。


推荐