Являются ли Java-аннотации одинаковыми с атрибутами C #? Что является эквивалентом в C ++?
Я нашел решение первой части моего вопроса Вот. Но как насчет C ++? Я думаю, что такого рода механизмы невозможны в C ++, потому что они требуют отражения, а отражения в C ++ не существует. Правильно?
Аннотации являются формой метаданные на класс Java и содержит члены / методы. Они отличаются от ключевых слов области компилятора, поскольку они могут сохраняться в скомпилированном классе и (как вы заметили) доступны через отражение. Я не верю, что есть какой-то эквивалент в C ++.
Вы можете добавить некоторые атрибуты с помощью gcc, см. Объявление атрибутов функций.
Но это очень специфично, не переносимо и не так гибко или расширяемо, как аннотации Java.
Хотя, кажется, вы можете написать плагины компилятора, которые расширяют набор распознаваемых атрибутов
Плагины GCC могут предоставлять свои собственные атрибуты.