求解对类的(void)强制转换调用时什么意思?

CodeLyoko 2013-05-02 09:10:11
最近在看一个Framework,里面有个地方我十分不解,我就自己写了一个类似的想要试验一下,但是连单步跟踪都进不去,不知道做什么用的,但是去掉这种用法明显原始例子就错误了,求解?

里面主要用了shared_ptr。


#include <iostream>
#include <memory>
using namespace std;
class Transfer
{
public:
Transfer(void);
~Transfer(void);
public:
static shared_ptr<Transfer> create();
};

Transfer::Transfer(void)
{
cout << "Create" << endl;
}


Transfer::~Transfer(void)
{
cout << "Destroy" << endl;
}

shared_ptr<Transfer> Transfer::create()
{
shared_ptr<Transfer> a(new Transfer());
return a;
}

int main(int argc, char * argv[])
{
shared_ptr<Transfer> xT = Transfer::create();
//就是下面这句,百思不得其解?转换成一个函数调用?还是另有玄机?
(void)xT;

system("pause");
return 0;
}


PS. 此Framework是跨平台的,VS/GCC/XCode均可编译的……应该不是平台或者编译器特性。
...全文
36 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧