15

例えば:

std::weak_ptr<int> wp1(std::make_shared<int>());
std::weak_ptr<int> wp2;

assert(PointsToValidOrExpiredObject(wp1));
assert(!PointsToValidOrExpiredObject(wp2));

そのような機能は可能ですか?

ユースケース: クラスのコンストラクターはstd::weak_ptr<Foo>依存関係として受け取ります。期限切れのオブジェクトを渡すことは問題ありませんが (特定のワークフローで発生する可能性があります)、null を渡すことは、プログラマーが何かを忘れていることを意味します。コンストラクターのパラメーター検証の一環として、これをテストしたいと思います。

4

1 に答える 1