【发布时间】:2019-09-04 18:21:23
【问题描述】:
当使用 C++17 多态分配器和 set/get_default_resource 方法(例如,参见 https://en.cppreference.com/w/cpp/memory/set_default_resource)时,所有资源都通过指针传递/返回,而使用 nullptr 几乎没有意义,而且感觉它可以大部分时间是一个参考(如果需要,然后存储为 ref_wrapper)。
这有什么合乎逻辑/风格的原因吗?
【问题讨论】:
-
我想以
new的方式处理内存更容易;也就是说,返回一个指向已分配内存块的指针。 -
这不是重点。我不是在谈论内存资源的分配/释放,而是在谈论内存资源的传递方式。 memory_resource 在分配时返回指针的原因不是因为它更容易以与 new 相同的方式执行,而是因为分配可能失败(例如:由于内存不足)因此返回 nullptr 是有效的。
标签: c++ pointers reference c++17