Ai đó có thể biện minh cho nhu cầu tư nhân hóa toán tử gán trong thực thi lớp Singleton không?Cần có nhà điều hành gán tư nhân trong một lớp Singleton
Giải quyết vấn đề gì bằng cách đặt Singleton& operator=(Singleton const&);
riêng tư?
class Singleton {
public:
static Singleton& Instance() {
static Singleton theSingleton;
return theSingleton;
}
private:
Singleton(); // ctor hidden
Singleton(Singleton const&); // copy ctor hidden
Singleton& operator=(Singleton const&); // assign op. hidden
~Singleton(); // dtor hidden
};
Tôi hiểu ngay cả khi nhà phát triển thực hiện a = b; không có hại gì khi cả hai đối tượng trỏ đến cùng một thể hiện tĩnh của Singleton. Vì vậy, nhà điều hành tư nhân hoặc chuyển nhượng không phải là phải cho một singleton cư xử như mong đợi. –
@PrashanthGN Đúng là điều này không hoạt động nên có 'toán tử =' không nguy hiểm, chỉ là vô nghĩa. –