Использование арифметики указателя внутри объектаC++

Программы на C++. Форум разработчиков
Anonymous
Использование арифметики указателя внутри объекта

Сообщение Anonymous »

выдержка из книги «C ++ Управление памятью» от Патриса Роя < /p>

Например, следующий код верен, хотя и не то, что нужно сделать (это не имеет смысла
, и он делает вещи без необходимости, но он не имеет никакого вреда): < /p>
struct A {
   int a;
   short s;
};

short * f(A &a) {
    // pointer interconvertibility in action!
    int *p = reinterpret_cast(&a);
    p++;
    return reinterpret_cast(p); // Ok, within the
                                       // same object
}

int main() {
    A a;
    short *p = f(a);
    *p = 3; // fine, technically
}
< /code>
< /blockquote>
Автор не уточняет это утверждение. Правильно ли с стандартной точки зрения и при каком условии, если так?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -an-object

Вернуться в «C++»