関数なりマクロなりに隠すから問題ない
ホントの事いってunordered_setなんぞあんまり使ったこと無いんだけど、大体こんなイメージ

T* my_new(unordered_set<T*>& heap) {
auto t = new T;
heap.insert(t);
return t;
}