Существенная ли разница, если я объявляю приватное статическое поле или же использую переменную спрятанную внутри файла .cpp? И про методы интересно, кроме того что статические имеют доступ к полям класса. Возможно есть какие-нибудь нюансы?
Здравствуйте, sanx, Вы писали:
S>Существенная ли разница, если я объявляю приватное статическое поле или же использую переменную спрятанную внутри файла .cpp? И про методы интересно, кроме того что статические имеют доступ к полям класса. Возможно есть какие-нибудь нюансы?
Например различия доступа к классу:
struct a
{
private:
int var;
static int s;
};
int a::s = (new a())->var; // OK. Т.к. "s" часть класса "a", имеем доступ к приватной части.
static int s2 = (new a())->var; // Error. Т.к. "s2" не является частью класса "a".
int main()
{}