News for hackers. Stuff that matters.
Re:The Time Needed to Write “Effective Modern C++” by coliveira on Thursday April 23, 2015 @09:33AM (#9426513)
> `const` is only needed for the caller to ensure that the object won't get changed when passed to another function.

But const cannot guarantee this, because it can be cast away so easily. This could be true just for your own code, but then it is you who is responsible for maintaining the immutability, not the compiler.

Re:The Time Needed to Write “Effective Modern C++” by netheril96 on Thursday April 23, 2015 @10:27AM (#9426883)
> because it can be cast away so easily

By this logic, none of the static type checks in C++ is of any use, since they can be cast away easily as well.

Re:The Time Needed to Write “Effective Modern C++” by coliveira on Thursday April 23, 2015 @06:58PM (#9430448)
Types exist to help you organize your code. Const (for classes) just promotes the misguided idea that you should design objects with mutable and immutable parts at the same time. The main objection to this is that your objects should be either value objects (therefore immutable) or reference objects. There is no need for const if you design your classes in this way. On the other hand, the const idea requires you to spread "const" everywhere you might want immutability, otherwise the compiler will fight you at each line of your code. Either way, it is a loss-loss proposition.