Что определение языка C++ говорит о степени статического ключевого слова?

В C++, если у меня есть класс:

class Example {
  static int s_One, s_Two;

  ...
};

Четко ли определяет язык, что s_Two также является статичным?

Другими словами, используется ли экстент ключевого слова static везде, куда идет int, или он может быть похож на * и применяется только к одной переменной?

Ответ 1

Да, это относится ко всем именам в этом объявлении:

[dcl.stc]/1: [..] В заданном decl-specier-seq должен появиться не более одного спецификатора класса хранилища [..] Спецификатор класса хранилища применяется к имени, объявленному каждым объявителем init в список [..]

Ответ 2

Согласно стандарту C++ 17 (10 деклараций)

2 Простое объявление или объявление-функции-узла в форме

attribute-specifier-seqopt decl-specifier-seqopt init-declarator-listopt ;

И (10.1 Спецификаторы):

1 Спецификаторы, которые можно использовать в объявлении:

decl-specifier:
    storage-class-specifier
    ...

Так что в этом объявлении

static int s_One, s_Two;

decl-specifier-seq содержит два decl-specifiers, static (спецификатор класса хранения) и int. Таким образом, спецификатор класса хранения static описывает обе переменные в init-declarator-list s_One и s_Two.