C'è un modo per sapere se un oggetto è un oggetto const o un oggetto regolare, ad esempio, si consideri la seguente classe dioggetto const e costruttore const
class String
{
String(const char* str);
};
se l'utente creare un oggetto const da String
allora non c'è motivo per copiare la stringa nativa passata e che, poiché non effettuerà alcuna manipolazione su di essa, l'unica cosa che farà sarà ottenere la dimensione della stringa, la ricerca di stringhe e altre funzioni che non cambieranno la stringa.
Non c'è modo di sapere. Infatti, 'const' si applica solo una volta che l'oggetto è inizializzato (il costruttore termina) e si arresta quando viene immesso il distruttore. – GManNickG