mercredi 1 juin 2016

What problems are solved by holding a Temporary using `const T &`? [on hold]

Like, if I write code that looks like the following:

const int & const_value = 10;

What advantage am I gaining over code that would instead look like this:

int value = 10;

or

const int const_value = 10;

Even for a more complicated example, like

const enterprise::complicated_class_which_takes_time_to_construct & obj = factory.create_instance();

Thanks to copy elision, both of the following code snippets shouldn't be significantly faster or less memory consuming.

enterprise::complicated_class_which_takes_time_to_construct obj = factory.create_instance();

or

const enterprise::complicated_class_which_takes_time_to_construct obj = factory.create_instance();

Is there something I'm missing that explains the use of this construct, or a hidden benefit I'm not accounting for?

Aucun commentaire:

Enregistrer un commentaire