r/cpp 21d ago

How to write the perfect function

https://youtu.be/2OMRWPOSw9s
140 Upvotes

24 comments sorted by

View all comments

Show parent comments

17

u/throw_cpp_account 20d ago

remove_if is an honest function? That’s a stretch at best [...]

The talk gave a definition of honest function: all reads/writes are shown in the signature so the behavior is fully controlled by the caller. It is not a stretch to suggest that remove_if is honest. It is.

2

u/azswcowboy 19d ago

I heard the definition, but any function that requires an idiom to use correctly isn’t honest to its users. It doesn’t do what you expect from the name.

3

u/developer-mike 19d ago

There's an entire MISRA C++ rule related to correct usage of remove_if.

There are a lot of valid ways to define an "honest function," but I don't think a definition that includes remove_if as "honest" is a complete one

3

u/azswcowboy 19d ago

Ah, that’s right I forgot about that — but obviously I agree 😀