Разница между статическими членами класса и обычными данными в C++ заключается в том, что статические члены представляют данные уровня самого класса, а обычные члены — поля каждого экземпляра класса. 1
Статические члены существуют в единственном экземпляре и связаны с самим типом, а не с конкретным его объектом. 3 Это разделяемая сущность, доступная всем объектам одного класса. 3 Статическая переменная определяется только один раз и будет существовать, даже если объекты класса не были созданы. 5
Обычные члены присутствуют в каждом объекте как отдельные элементы данных. 3 Время жизни полей объекта (соответствующих нестатическим членам-переменным класса) определяется временем жизни самого объекта: процесс разрушения начинается с самого объекта, а затем разрушаются его поля. 1