cplus macro