2016-04-05 33 views

cevap

1

Yalnızca bir ifadede yer alan sabitler olduğu sürece, derleme zamanında hesaplanır. C++ constexpr çoğunlukla, makroları içermeden bunu yapmak için güvenli bir yoldur. C'de sadece makrolar var. Örneğin:

#define CIRCLE_AREA(r) (int32_t)((double)(r) * (double)(r) * M_PI) 

int32_t area = CIRCLE_AREA(5); 

gerçekleştirdiği derleme anda tüm hesaplamalar, bu nedenle yazılı eşdeğerdir:

int32_t area = 78; 
+0

'statik satır içi int32_t circle_area (double r) {return r * r * M_PI; } '? –

+0

@JonathanLeffler Bu hesaplamanın çalışma zamanında yapılması zor olabilir, inanıyorum. – Lundin

+0

Sabit dizelerle bu mümkün mü? – Chirality

İlgili konular