为什么跳不出if作用域呢?

请问下:为什么不去掉if判断条件,则无法输出"22222",去掉,则可以呢?

  //if (is_parse == 0) {
    zmq::context_t ctx;
    sock = new zmq::socket_t(ctx, zmq::socket_type::pub); //这里会挂起一起常驻内存的线程
    sock->bind("tcp://*:8008");
    printf("11111, %p\n", sock);
    fflush(stdout);
  //}

  printf("22222\n");
  fflush(stdout);
阅读 1.3k
1 个回答

有 if zmq::context ctx 会析构。

看看这个析构函数都干了啥。

你可以把这个声明放 if 外面试试。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题