Здравствуйте, пффф, Вы писали:
S>>Тут же не только в том дело, что объект не расходует память и это гарантированно. Важно что можно утверждать что объект не изменился и можно не вызывать повторно его методы.
П>Плюсовый компилятор и так это делает, если может доказать. А верить программисту на слово, который "мамой клянусь, объект константный, метод вернёт то же самое" компилятору никак нельзя
Чуть подправил код:
#include <iostream>
class MyClass {
public:
int value;
constexpr MyClass(int v) : value(v) {}
};
int main() {
const MyClass* obj1 = new MyClass(5);
const MyClass* obj2 = new MyClass(5);
std::cout << "Address of obj1: " <<static_cast<const void*>(obj1) << std::endl;
std::cout << "Address of obj2: " << static_cast<const void*>(obj2) << std::endl;
return 0;
}
— тут есть гарантия что не нужно выделять память по 100 раз?