Вы говорите о том, чтобы сделать некоторые статические члены класса приватными для класса, чтобы экземпляры класса не могли получить к ним доступ.К сожалению, я не думаю, что в c ++ есть какой-либо синтаксический механизм, который вы можете использовать для его применения во время компиляции.Возможно, вам удастся выполнить проверку во время выполнения, но это будет, по меньшей мере, запутанно.
Действительно, я не уверен, почему вы захотите сделать то, что вы просите.Если вы уже владеете и редактируете класс, вы также можете редактировать все методы экземпляра, чтобы убедиться, что они не используют статический член.Если вы хотите попытаться применить его, вам нужно будет поместить большой тяжелый комментарий рядом со статическим членом, говорящий «Методы экземпляра не должны использовать это», и убедитесь, что ваша команда это знает.В общем, вам не нужно проявлять религиозность в отношении модификаторов доступа, таких как public / private, чтобы писать хороший код, поэтому я бы просто сказал: не беспокойтесь о попытках применить то, что вы предложили.
Другой объект-ориентированные языки могут обеспечить то, что вы просите, поскольку они проводят больше различий между классами и экземплярами.например, Scala, Smalltalk.