Есть ли в этом коде какие-либо части, которые нарушают гарантию ключевого слова 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