标签: C++

34 篇文章

点云下采样有损压缩
点云下采样是通过一定规则对原点云数据进行再采样,减少点云个数,降低点云稀疏程度,减小点云数据大小。 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个…
初入C++:(函数类)模板
模板:是一系列函数/类的样板,对于实际只是类型不同。 1.函数模板 1.1概念和定义 格式为: template <“模板形参表声明”> ”函数声明“ ”模板形参声明“ ”模板形参声明“ 是由一个或多个”模板形参“组成的,用逗号隔开 ”模板形参“具有以下几种形式: typename ”参数名“ class ”参数名“ ”类型修饰“ ”参…
初入C++:类的继承和派生
1.继承和派生相关概念 一个==新类==从==旧类==中得到已有的特性,如:数据成员、成员函数等,即称类的继承。 从==旧类==产生一个==新类==,即称为类的派生 这样的旧类被称为基类或父类,这样的新类被称为派生类或子类。 单继承:一个派生类从==一个基类==继承;多继承:一个派生类从==多个基类==继承。 派生类也可以派生出新的派生类。 从基类…