草庐IT

c++ - 有哪些严酷的例子表明 C 风格的转换很糟糕?

最近我找到了一个很好的例子来说明为什么C风格的转换很糟糕。我们从实现多个COM接口(interface)的以下类开始(为简洁起见,我有两个,但在现实生活中可能有十个):classCMyClassInitial:publicIInterface1,publicIInterface2{//declarationsomitted};HRESULTCMyClassInitial::QueryInterface(REFIIDiid,void**ppv){if(ppv==0){returnE_POINTER;}*ppv=0;if(iid==__uuidof(IUnknown)||iid==__uu