コードは次のとおりです
// in ptr.h
#pragma once
#include <memory>
template<class T> using Ptr = std::unique_ptr<T>;
したがって、std :: unique_ptrを使用するたびに、「ptr.h」をインクルードしてPtrとして使用します。これは良い習慣ですか?
コードは次のとおりです
// in ptr.h
#pragma once
#include <memory>
template<class T> using Ptr = std::unique_ptr<T>;
したがって、std :: unique_ptrを使用するたびに、「ptr.h」をインクルードしてPtrとして使用します。これは良い習慣ですか?
この種のことは、読みやすさを損なうだけです。平均的なC++プログラマーがunique_ptr
、あなたの概念が何であるかを知る前に、aが何であるかを知る可能性は高くなりますPtr
。さらに、私は前者をグーグルでき、後者はグーグルできません。
要件が変更され、を使用することにしたとしますstd::share_ptr
。あなたは自然に行うでしょう:
template<class T> using Ptr = std::shared_ptr<T>;
わかった!素晴らしい!を使用するコードに変更はありませんPtr
。ただしstd::shared_ptr
、意味的には。とは異なりstd::unique_ptr
ます。変更を知らない何人かの知らないプログラマーがそれPtr
がまだであると考え続けるときstd::unique_ptr
...kaboom!
私が学んだことの1つは、簡潔にするためだけにコードの可読性を犠牲にしないことが重要であるということです。