C statik kurucular ? özel statik nesneleri başlatmak gerekiyor
Özel statik veri üyesi (tüm karakterler a-z içeren bir vektör ile bir sınıf olmasını istiyorum. Ya da C#, java sadece bir "sınıf örneklerini yaparım, sınıfın statik veri üyeleri kurar önce çalışır. yapıcı" statik yapabilirsiniz Sadece bir kez çalıştırmak alır değişkenleri salt okunur ve sadece bir kez ayarlanması gerekir gibi) ve sınıf bir fonksiyon olduğu için özel çağırılır. Elimden Ekle kod oluşturucu çekleri görmek için vektör başlatıldı, ve bunu başlatmak değil, ama o tanıttı, çok gerekli kontrolleri ve değil gibi en uygun çözüm için sorun.
Bu düşünce aklıma gelmişken beri bu değişkenler okunacak sadece, onlar sadece ortak statik sabit, bu yüzden ben bunları dışarı çıktıktan sonra sınıfı, ama bir kez daha, göründüğü gibi çirkin bir hack.
Eğer yapıcıyı onları başlatmak istemiyorum eğer bir sınıf içinde özel bir statik veri üyesi olması mümkün mü?
CEVAP
Statik oluşturucu eşdeğer almak için, statik verileri tutmak ve bu sıradan bir sınıf statik bir örnek yapmak ayrı sıradan bir sınıf yazmak gerekir.
class StaticStuff
{
std::vector<char> letters_;
public:
StaticStuff()
{
for (char c = 'a'; c <= 'z'; c )
letters_.push_back(c);
}
// provide some way to get at letters_
};
class Elsewhere
{
static StaticStuff staticStuff; // constructor runs once, single instance
};
Nasıl C özel statik, sabit bir harita ...
özel final statik öznitelik vs özel fi...
Kullanarak Özel Statik Yöntemler avant...
Java özel bir statik değişken kullanım...
Nasıl statik bir Harita Başlatmak miyi...