Java-like annotations in C++

后端 未结 4 1466
故里飘歌
故里飘歌 2020-12-10 10:30

Is there something like Java\'s annotations in C++ ?

For example, the @Override annotation marks a function that it overrides another function, and if it wouldn\'t,

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-10 11:04

    C++11 provides support for generalized attributes, which can be seen as superset of Java annotations, as they can be applied not just to variables/functions, but also to statements, for example. But C++11 defines only syntax for generalized attributes, not means for user to define them.

    This article gives good overview of generalized attributes: http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generalized-attributes/

    GCC supports this feature from version 4.8, according to: http://gcc.gnu.org/projects/cxx0x.html

    To implement support for user-defined attributes, compiler plugins are promising, especially based on high-level language integration, like https://fedorahosted.org/gcc-python-plugin/

提交回复
热议问题