In boost/mpl/assert.hpp, ho visto qualcosa di simile:Che cosa significa P :: ************ nel file Boost assert.hpp?
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;
};
Se il primo ************
possono essere trattati come puntatori di struct fallito, il P::************
realtà non ha alcun senso per me. È questo standard C++?
Sì. È un puntatore a più livelli per puntare al membro di 'P'. –
(Tali puntatori nidificati esistono?: /) – deviantfan
Pointerception ... –