标签: C++

27 篇文章

解决vcpkg使用VS2022报错问题
最近,在把Visual Studio2019完全更新到最新Visual Studio2022后,原使用的vcpkg无法正常安装包,会报如下与Visual Studio 2022相关的错误: error: in triplet x64-windows-mixed: Unable to find a valid Visual Studio instan…
C++风格的强制类型转换
一般常用的是C语言风格的强制类型转换(type) expression,这种转换虽然简便,但很是粗糙,无法区分各种细致的转换(比如父类与基类之间的转换,const和非const之间的转换等),并且可能会带来一些难以察觉的问题。 C++为此推出了四种强制类型转换(static_cast、const_cast、dynamic_cast、reinterp…
点云下采样有损压缩
点云下采样是通过一定规则对原点云数据进行再采样,减少点云个数,降低点云稀疏程度,减小点云数据大小。 1. 体素下采样(Voxel Down Sample) std::shared_ptr<PointCloud> VoxelDownSample (double voxel_size) const; voxel_size为体素(体积元素)的…
thumbnail
一文入门Nanomsg通信库
1. Nanomsg介绍 Nanomsg官方在线文档:https://nanomsg.org/index.html 本文全部代码用C++实现。 以前一直在使用ZeroMQ库处理通信,但因为最近需要做一个一对多的双向实时通信,ZeroMQ提供的几种通信模式就难以很好地实现,于是就去寻找其他的库,比如Nanomsg库。 若想了解ZeroMQ和NanoM…
QML报警绑定循环(binding loop)
问题描述 最近在使用QML绑定C++暴露的变量时(这个暴露的变量的一些方法是我修改过的,正常定义的貌似不会): CheckBox { id: connectChecker checked: rtc.connectChecker[index]//暴露的数组 onCheckedChanged: { rtc.connectChecker[index] =…
关于QML使用C++暴露数组
暴露数组类型变量 一般为了让QML使用到C++中的变量会使用Q_PROPERTY关键字,Q_PROPERTY可以支持QT各种数组类型,比如QVector、QList等,如: Q_PROPERTY(QVector<bool> myVec READ myVec WRITE setMyVec NOTIFY myVecChanged FINAL…
ZeroMQ和NanoMSG的选择/对比
以前一直在使用ZeroMQ库处理通信,但因为最近需要做一个一对多的双向实时通信,ZeroMQ提供的几种通信模式就难以很好地实现,于是就去寻找其他的库,比如NanoMsg库。 在我实际使用中,这两个库有着很大不同,下面我列出几点我使用时最注意的几点,之后如有新的理解再更新。 按照官方的说明,NanoMsg相当于ZeroMQ的改进升级版。 官方对两者的…
thumbnail
【转载翻译】谈谈Nanomsg与可扩展性协议(为什么ZeroMQ不应该是你的首选)
原文:A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice) 本文由Tyler Treat发布于2014年6月29日,很早了,很多内容已经过时,注意辨别 本月早些时候,我探讨了ZeroMQ以及它如何证明是构建快速,高吞吐量和可扩展…
背包问题求解,简单易懂(动态规划法,分支限界法,回溯法)
温馨提示:本文含有很多公式,若格式没有加载出来,请刷新页面 0/1背包问题:n种物品和一个背包,物品i的重量是wi,其价值为vi,背包的容量为C。背包问题是如何选择装入背包的物品,使得装入背包中物品的总价值最大?如果在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或不装入背包,即不能将物品i装入背包多次,也不能只装入物品i的一部分 有5个…