有什么理由不将参数作为a const &而不是值发送,当它不会被更改并且不会复制时?我的理解是,constby value参数与没有const(并且不会相互重载)相同,因此它仍然会被复制.
我知道最好发送大型对象const &,但我不知道这条线的位置.或者,如果即使是很小的参数应该由值被发送,如果他们将不会改变或复制.
注意::我试图搜索这个,但主题相当模糊,所以我没有找到任何好的答案,我道歉,如果已经回答了这个问题(发现许多问题关于何时使用const何时使用const &但不是关于价值vs的优点const &对于不明显大的物体).
我有一个UDPlistener应用程序,我需要编写单元测试.此侦听器持续侦听端口,并且始终在产品上运行.我们将poco库用于不在标准库中的框架.
现在我需要将它添加到单元测试应用程序中.
我认为Poco::Runnable在RunApp运行应用程序的类中实现它是最容易的.然后我可以Poco::Thread在我的单元测试中创建一个新的来运行RunApp该类.
这有效; 我的监听器正在运行,我可以在生成线程后在单元测试体中发送测试消息.但是,我需要停止监听器,以便其他单元测试可以运行.我添加了一条UDP消息,告诉监听器自杀,但这仅用于单元测试和潜在的安全问题.
有没有办法强制Poco::Thread停止?或者我构建这个单元测试错了?我不希望监听器在所有其他单元测试期间运行.