this post was submitted on 17 Sep 2024
33 points (94.6% liked)

C++

1718 readers
14 users here now

The center for all discussion and news regarding C++.

Rules

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Dark_Arc@social.packetloss.gg -4 points 2 days ago (2 children)

Rust still allows people to do (basically) whatever they want via unsafe blocks.

[–] FizzyOrange@programming.dev 7 points 2 days ago (2 children)

Yeah but I have written a lot of Rust and I have yet to use a single unsafe block.

Saying "but.. unsafe!" is like saying Python isn't memory safe because it has ctypes, or Go isn't memory safe because of its unsafe package.

[–] FalconMirage@jlai.lu 1 points 2 hours ago

You don't have to use unsafe C++ functions either

C++ is technically safe if you follow best practices

The issue, to me, is that people learn older versions of the language first, and aren't aware of the better ways of doing stuff.

IMO people should learn the latest C++ version first, and only look at the older types of implementation when they come across them

[–] Dark_Arc@social.packetloss.gg -5 points 2 days ago

See my reply to funtrek's reply.

[–] funtrek@discuss.tchncs.de 6 points 2 days ago (1 children)

Sure, but you have to explicitly enable this feature. In c++ you can use the oldest shit from twenty years ago and your compiler happily does its job. All my c++ books are full of "you shouldn’t use xy as it is deemed unsafe now, but of course you still can".

[–] Dark_Arc@social.packetloss.gg -5 points 2 days ago (1 children)

If a "safe C++" proposal truly proposes a safe subset, then yes your C++ code would have to opt-in to doing unsafe things. For the purposes of this discussion of a safe subset ... the point is moot.

[–] FizzyOrange@programming.dev 5 points 2 days ago (1 children)

It's not moot. The Safe C++ is opt-in to safety. It has to be because otherwise it wouldn't be compatible with existing C++.

[–] Dark_Arc@social.packetloss.gg -4 points 2 days ago* (last edited 2 days ago)

That's a laudable difference /s. Using Rust is also an "opt-in" option.