是否有可能以任何方式(使用C++预处理器等)将shared_ptr替换为<T> T$,weak_ptr<T>替换为 T%,unique_ptr<T>替换为 T?



目前看来答案是否定的。

考虑到shared_ptrs在视觉上变得更加嘈杂,这是不幸的。

对于c++ 11,现在一种可能的方法是使用别名(这比宏更简洁)。例如,对于共享指针,您可以这样做:

template<typename T>
using Shared = std::shared_ptr<T>;

然后,按如下方式使用:

Shared<int> myInt; // Is in fact a std::shared_ptr<int>

编辑:实例

最新更新