Trong boost / mpl / khẳng định.hpp , tôi thấy một cái gì đó như thế này:
template<class Pred>
struct eval_assert {
typedef typename extract_assert_pred<Pred>::type P;
typedef typename P::type p_type;
typedef typename ::boost::mpl::if_c<p_type::value,
AUX778076_ASSERT_ARG(assert<false>),
failed ************ P::************
>::type type;
};
Nếu cái đầu tiên ************
có thể được coi là con trỏ của struct bị lỗi, thì nó P::************
thực sự không có ý nghĩa gì đối với tôi. Đây có phải là tiêu chuẩn C ++ không?