Использование арифметики указателя внутри объекта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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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