Macro is specifically referenced to code replace created by define statement by preprocessing, ofcorse C++ preprocessor can do more fancy stuff ;p but most basic and core function is to paste code text to specific point (they even say that on your video), same as most basic function of blueprint macro is, bah in C++ it it goes even more basic as they most commonly used to hold configurable consts on compiler level.
Dont know how UE4 VM compiler deals with it, but that most basic function is to paste code fragment on specific point and what blueprint macros does is 100% doable with C++ macros because pretty much they do the same thing at it’s core.