0

コードは次のとおりです

// in ptr.h
#pragma once
#include <memory>
template<class T> using Ptr = std::unique_ptr<T>;

したがって、std :: unique_ptrを使用するたびに、「ptr.h」をインクルードしてPtrとして使用します。これは良い習慣ですか?

4

2 に答える 2

6

この種のことは、読みやすさを損なうだけです。平均的なC++プログラマーがunique_ptr、あなたの概念が何であるかを知る前に、aが何であるかを知る可能性は高くなりますPtr。さらに、私は前者をグーグルでき、後者はグーグルできません。

于 2013-02-01T02:11:19.093 に答える
2

要件が変更され、を使用することにしたとします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つは、簡潔にするためだけにコードの可読性を犠牲にしないことが重要であるということです。

于 2013-02-01T02:21:16.163 に答える