我在许多关于 Stack Overflow 的帖子中读到,当使用指针(用于参数或返回值)并且允许使用 nullptr
(使其成为可选)时,通常最好使用 std::optional
代替。
但是如果指针指向多态类型呢?最好使用 std::optional
还是指针?
最佳答案
optional
不适用于多态类型。它是一种值类型,多态基类在 optional
中不起作用。就像将多态基类放在 vector
或类似的容器中是行不通的。
返回一个指针。通常将建议表述为“一般”是有原因的。
关于c++ - std::optional 和多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369429/