Применяется ли гарантия C++ const к параметрам с перекрывающейся памятью?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Применяется ли гарантия C++ const к параметрам с перекрывающейся памятью?

Сообщение Anonymous »

Есть ли в этом коде какие-либо части, которые нарушают гарантию ключевого слова const в C++? Почему?
struct X {
int val{};
int *extValPtr;
};

struct ContainsX {
X x{};
int val{};
};

int Func1(const ContainsX &containsX, X &x) {
++x.val;
++(*x.extValPtr);
return containsX.x.val + containsX.val;
}

int Func2(ContainsX &containsX) {
containsX.x.extValPtr = &containsX.val;
return Func1(containsX, containsX.x);
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ing-memory
Ответить

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

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

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

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

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