Ответ 1
[basic]/6 говорит, что любое объявление объекта представляет собой переменную. "нестатический член данных" появляется в списке наряду с "переменной", потому что нестатический элемент данных ссылочного типа не является переменной.
В проекте стандарта говорится о [[maybe_unused]] в пункте 10.6.6 пункта 2
"Атрибут может применяться к объявлению класса, typedef-name, переменной, нестатистическому члену данных, функции, перечислению или перечислителю".
Есть ли причина исключать из этого статических данных? т.е.
struct Foo {
[[maybe_unused]] static inline int foo = 0;
};
Я спрашиваю, как у меня есть статический член данных, у которого есть нетривиальный конструктор, который делает полезный материал, но в остальном не используется.
[basic]/6 говорит, что любое объявление объекта представляет собой переменную. "нестатический член данных" появляется в списке наряду с "переменной", потому что нестатический элемент данных ссылочного типа не является переменной.