Так как класс никогда не создается, конструктор будет опущен на этапе компоновки, и, следовательно, вероятно, будет статический член, так как на него ссылается только конструктор.
Я не 100% уверен в приведенном выше утверждении.Моя самая большая неуверенность в том, составляет ли инициализация нуля ссылку.
РЕДАКТИРОВАТЬ : Поцарапайте это.Я только что проверил и обнаружил, что gcc испускает статический объект в конечный исполняемый файл, даже если он вообще не используется.
EDIT 2 : мне просто пришло в голову, что если классметоды и статический член определены в отдельном модуле компиляции, они фактически будут удалены из окончательного исполняемого файла.Они появляются только в тестовом примере, потому что компоновщик сокращает только на уровне единицы компиляции, а не отдельные символы.
РЕДАКТИРОВАТЬ 3 : Нет, поцарапайте даже это.Кажется, что gcc хочет связать все .o, даже те, на которые нет прямой или косвенной ссылки main()
.Вы узнаете что-то новое каждый день.