> What about non-abstract empty bases? Should they never be used with MI?
That's what I just said.
> What about std::iostream?
from a footnote in "Thinking in C++" by Eckel:
> Jerry Schwarz, the author of iostreams, has remarked to both of us on
> separate occasions that if he had it to do over again, he would probably
> remove MI from the design of iostreams and use multiple stream buffers and
> conversion operators instead
> I guess I'll "never" be an "expert"
Try reading Effective C++, More Effective C++, and anything by Alexandrescu. Or you can go renegade and read the C++ FQA. No matter whether you agree with Yossi, you will learn a lot.