c – 在分配之前传递分配的指针

前端之家收集整理的这篇文章主要介绍了c – 在分配之前传递分配的指针前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究开源项目ROS.当我看到奇怪的代码.
Server server(n,"do_dishes",boost::bind(&execute,_1,&server),false);

变量服务器在被分配为服务器之前被使用.那可能吗?至少,我的visual studio 2010编译器不了解那种风格的代码.请让我知道,如果这是真的可能的代码,或不.

原始文件代码http://wiki.ros.org/actionlib#C.2B-.2B-_SimpleActionServer

– – – – – 添加

谢谢你的好意但是当我编译它时,我收到了“’server’:undeclared identifier”错误.所以我测试了简单的代码.

class TestCls {
public:
    TestCls(TestCls *aa)
    {

    }
};

int main(int argc,char **argv)
{
    TestCls tt(&tt);

}

它也造成同样的错误. “’tt’:未声明的标识符”.
我错过了什么吗?请帮帮我.

解决方法

这是合法的变量在声明时立即处于范围内.该规则的存在是为了使自引用数据结构能够在一行中构建.指针可以指向非构造对象,只要在构造对象之前不引用它.

由于指针被传递到Server构造函数中,只要服务器在调用函数对象之前正确等待,这将会起作用.

猜你在找的C&C++相关文章