#define 继针(S,T) \
    向量<S*>针;\
    元<型名...G>允许如型<元与值<是基<S,G>...>>\
    加(G*...o){(压(针,o),...);}\
    ~T(){清理针(针);}\
//S为待继承,T为本结构,可以直接插入使用者里面
//元<类...G>允许如型<(是基值<B,G>&&...)> 
//在这里可使用(??&&...)折叠
//元与可短路,而(折叠表达式不行),看情况用.

可以注释掉加(...)函数,用 空初化<B,G...>(针)来初化更简单.
用继承是不行的,在基类继承了,子类也有了,就奇怪得很了.所以,必须用宏.

可能这里,还必须得为虚.因为析构函数定义为虚,则删 p时能够正确的删.