是Java注释与C#属性是一回事吗? C++中的等价物是什么?Java注释与C#属性是一样的吗? C++中的等价物是什么?
,我发现我的问题here的第一部分的解决方案。但是C++呢?我认为这些类型的机制在C++中是不可能的,因为它们请求反射并且在C++中不存在反射。对?
是Java注释与C#属性是一回事吗? C++中的等价物是什么?Java注释与C#属性是一样的吗? C++中的等价物是什么?
,我发现我的问题here的第一部分的解决方案。但是C++呢?我认为这些类型的机制在C++中是不可能的,因为它们请求反射并且在C++中不存在反射。对?
注解是关于Java类和包含成员/方法的元数据的一种形式。它们与编译器范围关键字截然不同,因为它们可以保留在已编译的类中,并且(如您所知)通过反射可用。我不相信C++中有任何等价物。
您可以用gcc添加一些属性,看Declaring Attributes of Functions。
但是,这是非常具体的,而不是便携式和不灵活或可扩展的Java注解。
虽然,似乎可以编写编译器插件,这些插件扩展组公认属性
GCC插件可以提供自己的属性。
[C++ 11 added override and final](http://en.wikipedia.org/wiki/C%2B%2B11#Explicit_overrides_and_final)。 – 2013-03-06 09:56:11
都在编译代码的元数据,或(更简单)编译器指令? – 2013-03-06 10:00:27
是的,它们只是编译器指令,但在某些方面意味着表现得像Java注释一样。 – 2013-03-06 10:13:20