这可能只是学术兴趣。
因为我注意到我的实际例子可能不适合提出这个问题。
最初我写了类似的东西
auto bak_ptr{ptr}; // think of an `int* ptr`
备份地址。auto
现在我想知道我是否可以通过用更有意义、视野更开阔的 C++20 概念来代替这个愚蠢的概念来做得更好。
经过一番思考,该特定示例中的正确选择可能只是
std::copyable auto bak_ptr{ptr};
因为这反映了备份的意图,即某物的副本。
但是剩下的学术问题是:正确映射原始指针概念的行为的正确(概念标准库)实现是什么?如有必要,让我们将“指针”限制为指向对象的指针。还有指向 void、函数、成员的指针——可能会使问题复杂化。
我想到了与迭代器的关系。希望不会再次正确回答我自己的问题:std::contiguous_iterator
在某些情况下会是一个有价值的选择吗?有人可以就该主题分享或多或少完整的专家观点吗?
为什么还没有针对该概念的 std::pointer_to_object 标准库实现(当着你的面大喊大叫)?