Скрипач, пророк (26.10.2010 19:12 - 27.10.2010 09:21, просмотров: 109) ответил jorikdima на Есть сомнения. Это переопределение оператора приведения типа. Если сделать так:
Проверил. Работает. Только с защитой по типам лажа. Приведение типа. Записать по адресу байта слово уже не даст.
Тихо-молча запишет ровно один байт :)
И, похоже, не лечится.
Если кому интересно, код:
template<class T>
class EEPROM{
const int addr;
public:
EEPROM(int x):addr(x){};
operator T();
EEPROM& operator=(T val);
};
template<class T>
EEPROM<T>::operator T(){ return 0; };
template<class T>
EEPROM<T>& EEPROM<T>::operator=(T val){ return (*this);};
int main(void){
EEPROM<int> x(0);
char y;
y=x;
x=12.3;
}
... но не любой ценой.