Herb Sutter states Almost Always Auto and I have the following code:
use count_t = int;
count_t get_count() { ... };
const auto count = get_count();
for (decltype(count) i = 0; i < count; i++) {
    // Do the stuff
}
Essentially, using decltype() allows me to write a for loop that may use any integer type (hoping that get_count() would never return floating point) without any modifications in a client code of get_count() function and avoid compilation warnings like "signed-unsigned" mismatch.
My question is: is this form acceptable at all in an assumption that count_t may be redefined in future?
Aucun commentaire:
Enregistrer un commentaire