63 字
1 分钟
引用
2024-08-29
无标签

简单实现智能指针#

template <typename T> struct Box {
private:
  T *value;
  template <typename... Args> Box(T *p) : value(p){};

public:
  ~Box() { delete value; };
  auto operator->() -> T * { return value; };
  auto operator*() -> T & { return *value; };
  template <typename... Args> static auto make(Args &&...args) -> Box<T> {
    return Box<T>(new T(std::forward<Args>(args)...));
  }
};
引用
https://blog.pipago360.site/posts/语言/cxx/引用/
作者
Ashenye
发布于
2024-08-29
许可协议
CC BY-NC-SA 4.0