重命名和重新包含 std::unique_ptr 是一种好习惯吗?
Is this a good practice to rename and reinclude std::unique_ptr?
代码如下
// in ptr.h
#pragma once
#include <memory>
template<class T> using Ptr = std::unique_ptr<T>;
所以每次我使用 std::unique_ptr 时,我都会包含"ptr.h"并将其用作 Ptr。这是一个好的做法吗?
这种事情只会损害可读性。普通C++程序员在知道你对Ptr
的概念是什么之前就知道unique_ptr
是什么的可能性更高。此外,我可以谷歌前者而不是后者。
假设您的要求已更改并决定使用 std::share_ptr
.你自然会这样做:
template<class T> using Ptr = std::shared_ptr<T>;
还行!伟大!使用Ptr
的代码没有变化。但std::shared_ptr
在语义上与std::unique_ptr
不同。当一些不知道变化的不知情程序员继续认为Ptr
仍然std::unique_ptr
......咔嚓!
我学到的一件事是,重要的是不要为了简短而牺牲代码的可读性。
相关文章:
- 将错误返回给调用方而不是立即在 C++ 中抛出错误是否是一种好的做法
- 将相同共享指针的副本存储在不同的向量中是否是一种好的做法?
- 使用类在C++中存储和列出变量/方法是否是一种好的做法
- 使用字节向量作为其他类型的原始存储是一种好的做法吗
- 在类方法中使用 "this" 指针是否是一种好的做法?
- 派生类是单例是否是一种好的做法
- 抽象类/接口中的空方法是否被认为是一种好的做法?
- 将"this"从父类方法转换为子类方法是一种好的做法吗?
- 在我的情况下,多重继承是一种好的设计模式吗?
- 在函数中使用布尔"recursiveCall"参数是一种好的做法吗?
- 从 r 值引用限定方法返回 r 值引用是否是一种好的做法?
- 有没有一种好方法可以捕获或避免这种微妙的错误?
- 在 std::thread 创建的线程中调用 pthread_sigmask 是一种好的做法吗?
- 使用shared_ptr获得唯一所有权(有点)——这是一种好的做法吗
- 如果要调用多个成员函数,对象编辑器是否是一种好方法?
- 不为模板化类分离函数声明和定义是一种好的做法吗
- 在每个可能的地方使用指针是否是一种好习惯
- 在销毁 pthread 互斥锁之前锁定它是否是一种好习惯
- 大量使用静态成员变量是一种好习惯吗?
- 重命名和重新包含 std::unique_ptr 是一种好习惯吗?