用C类Java注解++

问题描述 投票:26回答:4

有什么样的C ++ Java的注解?

例如,@Override注释标记它会覆盖另一个函数的函数,如果不会,它会在编译时给出错误。

我要寻找一个在C ++这样的事情。

java c++ annotations
4个回答
8
投票

C++0x都会有这个功能,您可以显式地指定一个成员函数是否打算重写基类的功能,使用编译器等等产生的默认实现。


19
投票

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/


1
投票

有C ++ 0X,其具有超驰“注释”。或者,如果你想实现更多的Java的“接口”之类代码的错误如果不实现方法,你可以使用一个抽象类:

    class Base {
public:
    virtual void foo() = 0;
};

class Extended : public Base {
public:

    void foo2() {
        cout << "hi" << endl;
};

int main() {
    Extended e;
    e.foo();
}

这将导致一个编译器错误,如果你没有在基础类覆盖FOO。这个问题,但是,是基类不能有它自己的实现。


0
投票

有没有在这个语言。你可以期望的最好是一个特定的编译器选项。我想通过检查“编译”的文档,你的编译器开始。

© www.soinside.com 2019 - 2024. All rights reserved.