Aşağıdaki programın çıktısı ne olmalıdır?Statik üye değişken başlatıcıda neden statik üye işlevi (global olan değil) denir?
#include<iostream>
int foo()
{
return 10;
}
struct foobar
{
static int x;
static int foo()
{
return 11;
}
};
int foobar::x = foo();
int main()
{
std::cout<<foobar::x<<endl;
}
Ben programını çalıştırmak ama 11
cevap var, ama doğru cevap 10
olması gerektiğini düşünüyorum var. Ben neden foo()
neden statik fonksiyon olmalı bilmiyorum, lütfen bunu anlamama yardımcı olun. Statik fonksiyon kullanımı ile ilgili diğer örnekler tercih edilecektir!
Güzel açıklama, teşekkürler! –