【问题标题】:Why socket pointers are used everywhere instead of socket instances?为什么到处都使用套接字指针而不是套接字实例?
【发布时间】:2020-03-04 07:37:34
【问题描述】:

我是 C++/QT 编程新手,找不到答案。 我看到了很多示例/问题/对话,几乎所有人们都使用 tcp 套接字指针。 如果出现问题,用户关闭套接字,删除它并创建另一个。

为什么不直接使用套接字实例,关闭它,配置并尝试使用新参数再次连接它?每次使用指针并重新创建套接字是否会带来一些不明显的好处?

【问题讨论】:

  • Qt 类有时具有相当深的继承层次,具有许多虚函数和多态性。要使多态性起作用,您需要指针或引用。由于 C++ 没有“空值”,因此使用指针更容易,因为空指针可用于指示某种故障。

标签: c++ qt sockets pointers


【解决方案1】:

我认为在使用 Qt 类时使用指针而不是实例的最重要原因是Qt Ownership。它可以帮助您进行内存管理,并且需要在堆中创建对象。

【讨论】:

    猜你喜欢
    • 2011-06-13
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2010-12-16
    • 2014-04-26
    • 1970-01-01
    相关资源
    最近更新 更多