stavo guardando la classe std::ratio<>
dallo standard C++ 11 che permette di fare in fase di compilazione aritmetica razionale.Principi di progettazione dietro std :: rapporto <>
ho trovato il modello di progettazione e le operazioni poste in essere con le classi eccessivamente complessi e non ha trovato alcun motivo per cui non potrebbe utilizzare un approccio più semplice e intuitivo mediante l'attuazione di una realtà semplice classe razionale e definendo constexpr
funzioni per gli operatori. Il risultato sarebbe stato una classe più facile da usare e i vantaggi in fase di compilazione sarebbero rimasti.
Qualcuno ha qualche idea dei vantaggi dell'attuale design std::ratio<>
rispetto a un'implementazione di classe semplice utilizzando constexpr
? In realtà, non riesco a trovare alcun vantaggio all'attuale implementazione.
http://www.joelonsoftware.com/articles/fog0000000018.html –
Non è forse compilare in tempo (quindi modelli) vs runtime? – Drakosha
@Drakosha: 'constexpr' non è un suggerimento; in determinati contesti (dove è richiesta un'espressione costante), un compilatore * deve * eseguirli in fase di compilazione. –