ATL接口指针:替换get_和put_

时间:2012-05-30 06:25:35

标签: com properties atl smart-pointers

我多年前做过ATL编程,现在又走了这条道路。我记得上次,编译器有一种方法可以自动优化put_和get_(即属性)。我上次真的无法理解我是怎么做到的。

目前我这样做:

// assume p is a pointer to an interface
CComBSTR name;
p->get_Name(&name);

这段代码真的很烦我,我相信还有更好的方法:

// can we do this?
CComBSTR name(p->get_Name());
// or maybe this
CComBSTR name(p->Name);

我无法弄清楚如何使用CComPtr和_com_ptr_t来做到这一点。另请注意,p是指向同一库中接口的指针。所以我没有使用#import或其他任何东西。

1 个答案:

答案 0 :(得分:-1)

CComBSTR名称(p->名称);是正确的事