You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fayti1703 in Discord pointed out at least one example of a class that has this implemented wrong. In this case, it's writing to uninitialized data, but there are also other issues with this class:
We should go through any custom class that has any of the "Big Seven" and either remove them when not needed, add the remaining "Big Seven" they're missing, or migrate all the lifetime management details to a class that only manages lifetime (smart pointers).
I use the count of "7" here in quotes, partly because this is a named idiom/problem in C++, and partly because it's also known as the rule of 3, 5, or 6, depending on which iteration of C++ it's talking about. And I am not 100% which C++ standard this codebase should be conforming to:
Fayti1703 in Discord pointed out at least one example of a class that has this implemented wrong. In this case, it's writing to uninitialized data, but there are also other issues with this class:
overgrowth/Source/Graphics/font_renderer.cpp
Line 225 in 594a2a4
We should go through any custom class that has any of the "Big Seven" and either remove them when not needed, add the remaining "Big Seven" they're missing, or migrate all the lifetime management details to a class that only manages lifetime (smart pointers).
I use the count of "7" here in quotes, partly because this is a named idiom/problem in C++, and partly because it's also known as the rule of 3, 5, or 6, depending on which iteration of C++ it's talking about. And I am not 100% which C++ standard this codebase should be conforming to:
The text was updated successfully, but these errors were encountered: