2011-06-13 15 views

cevap

17

Yes. Yes, it is.

Statik ilklendiriciler yeter ki kapsam konum olarak, işlevleri çağırabilir.

[dcl.decl] (2003 ifade, 8/2):

başlangıç ​​değerleri de Bildiricisi içinde belirtilebilir; başlatıcılar, 8.5 ve 12.6'da tartışılan 'dur.

[dcl.init] (2003 ifadeler, 8.5/2):

Otomatik kayıt, statik ve değişmezleri ve karıştığı keyfi ifadeler tarafından başlatılabilir ad kapsamı dış değişkenler Daha önce değişkenleri ve işlevleri belirtilmiş işlevleri.

(anlamların her türlü sahiptir static anahtar kelime eksikliği ile sizi yanıltmasın. Sizin myvar değişken ad etki alanında bildirilmiş ve böylece statik depolama süresi sahiptir.)

+2

ise Bunu yaptığınızda, sipariş sorunlarına dikkat edin - statik başlatıcıların farklı çeviri birimlerindeyken hangi sırayla çalıştırılacağının garantisi yoktur. Başlatıcılar başka bir global değişken kullanmıyorlarsa, elbette sorun olmaz. – bdonlan

+0

@bdonlan: Çok doğru. –

İlgili konular