나는 pair<A,B>*
을 원한다. make_pair(a,b)
은 나에게 pair<A,B>
을 줄 것입니다 (쌍이 포인터가 아닙니다). 한 쌍의 포인터를 만드는 표준 방법이 있습니까? 후에 두 단어 사이에 새로운 단어를 추가하려고 시도했지만 존재하지 않는 것 같습니다.표준 새 페어가 있습니까?
2
A
답변
2
없습니다. 직접 롤백 할 수 있습니다 :
template<typename X, typename Y>
std::pair<typename std::decay<X>::type, typename std::decay<Y>::type>*
heap_pair(X&& x, Y&& y) {
typedef typename std::decay<X>::type decayed_X;
typedef typename std::decay<Y>::type decayed_Y;
return new std::pair<decayed_X, decayed_Y>(
std::forward<X>(x),
std::forward<Y>(y)
);
}
그러나 할당 자 사용자 정의를 추가 할 수 있습니다.
'auto p = new pair (a, b) 외에'나는 그렇게 생각하지 않습니다. –