4 ms·
> You want to make a part of a struct private? > /* private * / Thought this was a joke first, but it's not? Is it possible you have worked in the same place o
by stinos 13y ago
> You want to make a part of a struct private?
> /* private * /
Thought this was a joke first, but it's not? Is it possible you have worked in the same place or with the same people a long time? I just can't imagine this would work for us.
And I thought about it quite some time, but I really cannot see why you would prefer a comment (ie ignored by compiler, same keyword but surrounded with a few extra keystrokes) by a true first citizen keyword that does the same and enforces it? That would be the same as comments saying "hey this is const" instead of using proper const-correctness, no?
- huhtenberg 13y agoIf someone really wants to touch a private field, there's more than one way to do that. So "private" merely serves as a safeguard against honest mistakes. In this capacity it is a close sibling of that "if (0 == x)" contraption. It essentially says that I don't trust myself or others to not make dumb mistakes, so here's a safeguard for that. Not that it's a bad thing to have, but I can easily see that it can be deemed redundant to just having strong coding ethics.
- eropple 13y ago"Coding ethics" stop buffer overflows too, right? ;-)
- huhtenberg 13y agoIt's "discipline", not "ethics". I just had a brain spasm. And, yes, it surely stops them better than some flimsy member access restrictions.
- eropple 13y agoAs opposed to a private array and a public iterator API?
- huhtenberg 13y agoNaughty hands will find a way to break a container/iterator metaphor just the same as a simple buffer. Point being is that it's much better to work with competent developers than to needing to rely an idiot-proof coding style.