4 ms·
> with sufficient vigilance So now using const is some kind of difficult task? Not much cognitive overhead there. I thought everyone was onboard with immutabi
by autoreleasepool 11y ago
> with sufficient vigilance
So now using const is some kind of difficult task? Not much cognitive overhead there. I thought everyone was onboard with immutability these days.
My point is that safe low-overhead data structures with non-dangling, pointers protected from nullptr dereferencing ARE possible in C++ and not Rust. Yes, you have to put const after every type. Call that vigilance if you want. It's a really small price to pay IMO.
Edit: Down voted again. What's wrong with my point or code? I'm curious.
- pcwalton 11y ago> So now using const is some kind of difficult task? Not much cognitive overhead there. I thought everyone was onboard with immutability these days. The fact that if you make everything totally immutable you can write safe C++ is (a) not true; (b) even if it were true, a totally irrelevant point in practice since not everything can be immutable. "C++ is memory-safe if you don't mutate anything anywhere" is a completely uninteresting point to the real world (even if it were true). > My point is that safe low-overhead data structures with non-dangling, pointers protected from nullptr dereferencing ARE possible in C++ and not Rust. Yes, you have to put const after every type. Call that vigilance if you want. It's a really small price to pay IMO. No, it's completely wrong. You have no protection from dangling references in C++.
- autoreleasepool 11y ago> No, it's completely wrong. You have no protection from dangling references in C++. I'd love to see an example without globals or an undefined behavior factory function.
- pcwalton 11y agoA "factory function" is just a function. Unless you have some way of statically distinguishing "factory functions" from functions, you are now arguing "you can write safe C++ if you make all your data immutable and you don't use functions". Besides the fact that this is not true (consider the destruction order for rvalues), how is this a statement that is possibly relevant to the real world?
- deleted 11y ago[deleted]