Domanda

C ++ Standard Library il std::numeric_limits<T>::max() valore è specificato come una funzione. Altre proprietà di un tipo specifico sono indicati come costanti (likestd::numeric_limits<T>::is_signed). Tutte le costanti che sono di tipo T sono dati come funzioni, mentre tutte le altre costanti sono dati come, pure, valori costanti.

Qual è la logica dietro questo?

È stato utile?

Soluzione

Per espandere il commento di Neil, std::numeric_limit<T> è a disposizione per qualsiasi tipo di numero compresi i numeri in virgola mobile, e se si scava attraverso la comp.lang.c ++ filo, vedrete la menzione che potrebbe non essere possibile definire le variabili statiche per valori a virgola mobile.

Quindi, per la coerenza che ha deciso di mettere entrambi i punti interi e galleggianti dietro metodi.

Si cambierà con C ++ 0x, quindi non c'è speranza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top