Neden &; Başlatma" " std::ios_base::Init büyük?
Standart C kütüphanesindeki bütün isimleri std::ios_base::Init
hariç küçük harf. Neden bu?
CEVAP
Bir erken draft İOStream sınıfları o ios_base
oldu aslında yok, basic_ios
temel sınıf ve sorumluydu Init
ve diğer üyeleri olan idi, ama daha sonra ayrılmış ios_base
.
basic_ios
da vardı (still has) init
fonksiyon ise iki isim vermedi mutlaka olması ayrı, muhtemelen denemek ve önlemek karışıklık için karar verildi Adı Sınıf Init
ve işlevi init
. Ayrıca, bu ayrımı yapılmaksızın aşağıdaki gibi bir sınıfı kullanırken gerekli olurdu:
struct ios_base
{
struct init{};
void init();
};
ios_base::init i1; // error
struct ios_base::init i2; // ok
Ayrı bir sınıf standart akışı başlatılıyor sorumlu olması fikri en azından this başlık Iostream_init
tarafından görüldüğü gibi 3.0, CFront gider. Bir noktada Init
adlandırılması gereken sınıf 12*/ basic_ios
/ ios_base
*üye yapmak için değil sadece ama karar verildi.
Her durumda mantıklı olan iki belirsizliği ortadan kaldırmak için, hatta sonuçta ayrı sınıflara yerleştirilir oldukları gerçeğini dikkate alarak yapar. Onlar mı karar tamamen ayrı isimler yerine, ama tahminen Init
/ init
olarak kabul edildi en iyi semantik seçim için ne tarif sınıfı ve işlev, ve orada da bir şanstı sadece taklit eden eski Iostream_init
hangi bir nedeni de başlar ile bir büyük harf I
.
Neden baskı "B" baskı " ...
Neden bu kod rastgele dizeleri yazdırm...
Neden &; ad std quot;" kötü olara...
Neden[[]]yok[ []] [ []] dize " dön...
Neden C ön işlemci word "linux&qu...