- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class SOME_CLASS
{
public:
struct
{
inline uintb operator = (uintb newValue )
{
(reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_setI( newValue );
}
inline operator uintb ()
{
return (reinterpret_cast<SOME_CLASS*>(static_cast<char*>(this)-offsetof(SOME_CLASS,SOME_CLASS::i)))->_i;
}
...
...
} i;
...
private:
void _setI( uintb newValue );
uintb _i;
}
CPPGovno 16.09.2011 13:16 # −5
istem 17.09.2011 12:24 # 0
CPPGovno 17.09.2011 12:33 # 0
SmackMyBitchUp 17.09.2011 12:45 # +1
CPPGovno 17.09.2011 13:08 # 0
Lure Of Chaos 17.09.2011 13:41 # +2
SmackMyBitchUp 17.09.2011 16:05 # +4
Lure Of Chaos 17.09.2011 17:24 # 0
CPPGovno 17.09.2011 18:39 # 0
SmackMyBitchUp 17.09.2011 18:46 # 0
CPPGovno 17.09.2011 19:38 # −1
Lure Of Chaos 17.09.2011 21:52 # +2
gegMOPO4 17.09.2011 22:22 # +5
CPPGovno 18.09.2011 00:16 # 0
Lure Of Chaos 18.09.2011 00:22 # 0
CPPGovno 18.09.2011 01:02 # −2
absolut 16.09.2011 13:42 # +6
ctm 16.09.2011 14:00 # 0
известный подход: оператор= - сеттер, оператор приведения типа - геттер.
собственно, когда у данных нет сведений, к какому объекту они относятся, без оффсетов и кастов не обойтись.
да, кастовать лучше, наверное, к инту, а не к char * на случай всяких уникодов.
TheHamstertamer 19.09.2011 10:24 # 0
okay.jpg
guest8 09.04.2019 11:31 # −999