gpt4 book ai didi

c++11 - std::shared_ptr/std::make_shared 的更短语法

转载 作者:行者123 更新时间:2023-12-02 06:01:10 25 4
gpt4 key购买 nike

<分区>

写累了std::shared_ptr<MyClass>std::make_shared<MyClass>在考虑了this之后我想找到一个更短的语法。

对于我的短期科学项目,我通常只需要非常快速地生成代码并且更喜欢紧凑的语法 - 只是不要评论它;)

所以我想到了这个:

#define PTR(X) std::shared_ptr<X>
#define NEW(X) std::make_shared<X>

PTR(MyClass) p = NEW(MyClass)(args)

或者关于这个:

template<typename T> using ptr = std::shared_ptr<T>;
template<typename T, typename... Args>
ptr<T> make(Args... args) {
return std::make_shared<T>(args...);
}

ptr<MyClass> p = make<MyClass>(args);

您认为这些方法的优点/缺点是什么?有没有更优雅的方式?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com