摘要: 近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket 阅读全文
posted @ 2017-05-03 16:20 ZYVV 阅读(4282) 评论(0) 推荐(0) 编辑
摘要: 编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过。 sudo apt-get install cmake 安装 fcitx-libs-dev sudo apt-get install fcitx-libs-dev 设置qmake的环境变量(这个要根据各人的电脑和qt版本进 阅读全文
posted @ 2017-05-03 16:15 ZYVV 阅读(160) 评论(0) 推荐(0) 编辑
摘要: ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin) PS : 在“安装ros_qtc_plugin插件”这一步中,原文提到“ Ubuntu 14.04使用apt-get方式安装,会安装5.7版本的Qt Creator”,因此如果对Qt版本没要求可以直接做“安装ros_qtc_ 阅读全文
posted @ 2017-05-03 16:14 ZYVV 阅读(519) 评论(0) 推荐(0) 编辑
摘要: c++ 的 STL 中主要有 vector , list, map, set , multimap,multiset 这些容器完全支持使用内置类型和指针(指针注意内存泄露问题)。 就是说乱用智能指针或其他指针作为容器元素,有可能2个元素指向同一个对象,2个元素(指针)对应一个对象,甚至更多 C++ 阅读全文
posted @ 2017-05-03 16:06 ZYVV 阅读(1760) 评论(0) 推荐(0) 编辑
摘要: 我们在之前的博文QVector的内存分配策略 与再谈QVector与std::vector——使用装饰者让std::vector支持连续赋值中简单聊了聊QVector内存分配和赋值方面的一点东西,今天接着从QVector展开谈谈Qt的写时复制技术。老实说,“隐式共享,引用计数,写时复制”也是老调重弹 阅读全文
posted @ 2017-05-03 15:33 ZYVV 阅读(2843) 评论(0) 推荐(0) 编辑
摘要: 一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复 阅读全文
posted @ 2017-05-03 15:16 ZYVV 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 1、vector 容器 vector 的数据安排以及操作方式,与 array 非常相似。两者的唯一区别在于空间的运用的灵活性。array 是静态空间,一旦配置了就不能改变,vector 是动态数组。在堆上分配空间。vector 是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素(有保 阅读全文
posted @ 2017-05-03 14:48 ZYVV 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 服务器: incomming incomming.pro #------------------------------------------------- # # Project created by QtCreator 2016-04-08T09:25:22 # #------------------------------------------------- QT +=... 阅读全文
posted @ 2017-05-03 14:46 ZYVV 阅读(4851) 评论(0) 推荐(0) 编辑
摘要: 因为利用QByteArray可以很方便的利用其API对内存数据进行访问和修改, 构建数据库blob字段时必不可少; 那如何向blob内写入自定义的结构体和类 //自定义person结构体 memcpy只能处理字段为基本类型的结构体, 当使用QString name, 我用person->name去访 阅读全文
posted @ 2017-05-03 14:45 ZYVV 阅读(4291) 评论(0) 推荐(0) 编辑
摘要: 在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? new 和 delete 是函数吗? new [] 和 delete [] 又是什么?什么时候用它们? 你知道 operator new 和 operator delete 吗? 为什么 new 阅读全文
posted @ 2017-05-03 14:41 ZYVV 阅读(166) 评论(0) 推荐(0) 编辑
摘要: QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplication> #include <QList> #include <QString> int main(int argc, 阅读全文
posted @ 2017-05-03 11:08 ZYVV 阅读(3262) 评论(0) 推荐(0) 编辑
摘要: 看别人的代码真的是很好的学习过程啊 之前用Subscribe订阅的时候都是简单的用法形如: 这样只用三个参数。 然后在实际中,如果想要给回调函数传参数可以用C++ 的boost库中的boost::bind() 函数,如: 这里,boost::bind中的第一个参数是回调函数名,第二个 _1 是一个占 阅读全文
posted @ 2017-05-03 11:05 ZYVV 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: 对于一些只订阅一个话题的简单节点来说,我们使用ros::spin()进入接收循环,每当有订阅的话题发布时,进入回调函数接收和处理消息数据。但是更多的时候,一个节点往往要接收和处理不同来源的数据,并且这些数据的产生频率也各不相同,当我们在一个回调函数里耗费太多时间时,会导致其他回调函数被阻塞,导致数据 阅读全文
posted @ 2017-05-03 11:02 ZYVV 阅读(5009) 评论(0) 推荐(0) 编辑