Программизм
Mar. 3rd, 2004 10:02 pmСегодня пронаблюдал любопытный глюк оптимизации.
Код, по смыслу эквивалентный
Object* Func(OtherObject* param) {
Obj2 * param1 = (Obj2*) param;
return param1->Pointer
}
при передаче туда NULL не выдал ошибку. А вернул какой-то ненулевой указатель.
Механизм более-менее понятен, но факт нетривиален...
Код, по смыслу эквивалентный
Object* Func(OtherObject* param) {
Obj2 * param1 = (Obj2*) param;
return param1->Pointer
}
при передаче туда NULL не выдал ошибку. А вернул какой-то ненулевой указатель.
Механизм более-менее понятен, но факт нетривиален...
no subject
Date: 2004-03-03 11:38 pm (UTC)Но результат неожиданный.