D语言和C#,java类似,是一门区分值类型和引用类型的语言。
概念和区分:
(注:没有找到权威的定义,维基百科没有,只有勉强链接到百度百科了)
渡世清明,温润如玉
D是一个系统级语言,但是也是一个GC语言(虽然现在GC在可选化,但是有的语言特性是基于GC的,例如:关联数组,数组连接等等)。D是GC语言,但不是全GC语言,D同时也提供了简单的手动管理内存的方式。所以下面我就分为GC,NoGC的方式来说。
注:此文是站在Qt5的角度说的,对于Qt4部分是不适用的。
1)Qt信号槽给出了五种连接方式:
Qt::AutoConnection | 0 | 自动连接:默认的方式。信号发出的线程和糟的对象在一个线程的时候相当于:DirectConnection, 如果是在不同线程,则相当于QueuedConnection |
Qt::DirectConnection | 1 | 直接连接:相当于直接调用槽函数,但是当信号发出的线程和槽的对象不再一个线程的时候,则槽函数是在发出的信号中执行的。 |
Qt::QueuedConnection | 2 | 队列连接:内部通过postEvent实现的。不是实时调用的,槽函数永远在槽函数对象所在的线程中执行。如果信号参数是引用类型,则会另外复制一份的。线程安全的。 |
Qt::BlockingQueuedConnection | 3 | 阻塞连接:此连接方式只能用于信号发出的线程(一般是先好对象的线程) 和 槽函数的对象不再一个线程中才能用。通过信号量+postEvent实现的。不是实时调用的,槽函数永远在槽函数对象所在的线程中执行。但是发出信号后,当前线程会阻塞,等待槽函数执行完毕后才继续执行。 |
Qt::UniqueConnection | 0x80 | 防止重复连接。如果当前信号和槽已经连接过了,就不再连接了。 |
以前写程序最多也只是字节级别操作,用char和memcpy进行一系列内存操作。此次一个sdk,其状态值直接是每位一个标示,所以需要取出每位进行操作。当然CPP也有丰富的位运算操作,但是虽然也学过,知道意思,但是实际却几乎没用过。这次只能动用它了。
第一种方法:思路就是全部用位与,这样就能取出来每一位是否为1。直接上代码吧,反正看了也就理解了。
uint j = 1; for (uint k = 0;k < sizeof(uint) * 8;(j = j<<1),k++){ std::cout << "The " << k << " bit is :" << (i&j) << std::endl; }
这是取一个无符号整数的, 继续阅读“C/C++取出变量的每一位的值”
PS:个人自省记录,无关技术,无关他人,酌情阅读,浪费汝等时间勿怪吾、、
先摘抄两段来自洛水的《知北游》的几段话,以前看过多次,虽为龙蝶悲哀,被林飞震撼,只是一直未能领悟,今得恍然大悟,自己何尝不曾失败,不曾失去本心。 继续阅读“我就是我,我就是渡世白玉”
QLib7z还是上次做一个项目的时候需要压缩和解压文件,考虑过7z,和QRunInfo一起从从Qt-Installer-Framework中提取的。继承提取源的协议:LGPL。后来上面决定用的是zip格式,也就没用到这个,我也就仅仅写个例子放在那里了。
前两天有人群里问7z解压,我就随口推荐了这个,使用中有的api他没有弄清楚,我就又拉去过来从源码里翻了翻api, 继续阅读“QLib7z:Qt对7z格式解压的封装”
来自知乎知识社区。一共摘自三个问题的四个答案,希望您看到后有所得,第一个是常见的困惑,第二个一幅图的解说,第三个是重量级的,循环渐进 帮你分析。顺便说下余华的《活着》也很值得一度,活着仅仅只是为了活着。
(这个有详细问题描述,请进链接查看,我就不转了。) 继续阅读“人生意义的解答”
“人工智能很可能导致人类的永生或者灭绝,而这一切很可能在我们的有生之年发生。”
上面这句话不是危言耸听。本篇三万五千字的长文由谢熊猫君翻译,InfoQ经授权转载,略有删节。我转自InfoQ的公共微信,本文较长,希望你能够耐心读完,读完后也许你的世界观都会被改变。
变革边缘
我们正站在变革的边缘,而这次变革将和人类的出现一般意义重大
– Vernor Vinge
如果你站在这里,你会是什么感觉? 继续阅读“你害怕人工智能么?——也许你应该害怕”
注:此文不涉及Qt线程使用的具体代码例子,如果是怎么使用Qt线程,见下面链接。
现在写一个项目并行和多线程几乎是必用的。在Qt中最多的是用QThread,只是QThread有两种用法,继承与QObject::moveToThread函数。在群里有人郁闷Qthread的用法,此文写下个人简单的见解。
首先简单说下QThread的这两种用法: 继续阅读“Qt线程使用杂谈”
接上文翻译,说明在上文:[翻译]理解Qt容器:STL VS QTL(二)——迭代器
我们同样需要说下类型系统来去最优化使用Qt容器,除非你不想为你自己的类型去优化效率和内存占用:QTypeInfo.
QTypeInfo 是一个Traits Class ,为大多数Qt容器去开启已知的优化。 继续阅读“[翻译]理解Qt容器:STL VS QTL(三)——类型系统 和其他处理”