摘要:
一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复 阅读全文
摘要:
1、vector 容器 vector 的数据安排以及操作方式,与 array 非常相似。两者的唯一区别在于空间的运用的灵活性。array 是静态空间,一旦配置了就不能改变,vector 是动态数组。在堆上分配空间。vector 是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素(有保 阅读全文
摘要:
服务器: incomming incomming.pro #------------------------------------------------- # # Project created by QtCreator 2016-04-08T09:25:22 # #------------------------------------------------- QT +=... 阅读全文
摘要:
因为利用QByteArray可以很方便的利用其API对内存数据进行访问和修改, 构建数据库blob字段时必不可少; 那如何向blob内写入自定义的结构体和类 //自定义person结构体 memcpy只能处理字段为基本类型的结构体, 当使用QString name, 我用person->name去访 阅读全文
摘要:
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? new 和 delete 是函数吗? new [] 和 delete [] 又是什么?什么时候用它们? 你知道 operator new 和 operator delete 吗? 为什么 new 阅读全文
摘要:
QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplication> #include <QList> #include <QString> int main(int argc, 阅读全文
摘要:
看别人的代码真的是很好的学习过程啊 之前用Subscribe订阅的时候都是简单的用法形如: 这样只用三个参数。 然后在实际中,如果想要给回调函数传参数可以用C++ 的boost库中的boost::bind() 函数,如: 这里,boost::bind中的第一个参数是回调函数名,第二个 _1 是一个占 阅读全文
摘要:
对于一些只订阅一个话题的简单节点来说,我们使用ros::spin()进入接收循环,每当有订阅的话题发布时,进入回调函数接收和处理消息数据。但是更多的时候,一个节点往往要接收和处理不同来源的数据,并且这些数据的产生频率也各不相同,当我们在一个回调函数里耗费太多时间时,会导致其他回调函数被阻塞,导致数据 阅读全文