In C++ when should we use std::any, std::variant or std::optional?

Viewed 1449
1 Answers

I have a very general rule:

Every time you want to use a union use std::variant.

Every time you want to use a void* use std::any.

Every time you want to return nullptr as an indication of an error use std::optional.

Related