![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 50
天天进步2015
软件开发老兵,任职于Acer和Hp,熟悉C++,Qt,现任高级软件工程师。
展开
-
深入解析一下c++11中的右值引用和STL中的std::move
C++11引入了右值引用(Rvalue references)作为一项重要的语言特性,它在C++语言中引入了新的语义,为移动语义和完美转发等高级编程技术提供了基础。理解右值引用的概念对于有效地使用现代C++非常重要。&&移动语义: 右值引用最重要的用途之一是实现移动语义。传统的拷贝构造函数(Copy Constructor)会创建一个新对象并拷贝另一个对象的内容,这在处理大型数据结构时可能会很昂贵。右值引用允许我们将资源从一个对象"窃取"(steal),而不是拷贝,以提高性能。原创 2023-11-11 13:56:29 · 93 阅读 · 0 评论 -
面试中常问到的C++11的题目和答案
C++11引入了许多新的语言特性和标准库更新,以下是一些常见的C++11面试问题和答案原创 2023-10-22 08:26:56 · 654 阅读 · 0 评论 -
面试中的常问的C++ STL 概念和函数
C++ Standard Template Library(STL)是C++编程中的一个强大工具集,它提供了许多数据结构和算法,以简化常见任务并提高代码的可重用性。在C++面试中,面试官通常会问关于STL的问题,以评估您的C++编程能力和对基本数据结构以及算法的理解。本文将讨论STL的一些常见概念和函数,以帮助您准备面试。原创 2023-10-22 05:45:18 · 410 阅读 · 1 评论 -
C++中的智能指针:更安全、更便利的内存管理
智能指针是C++的一个重要特性,它们是C++标准库提供的类,用于管理动态分配的内存。智能指针的主要目的是在内存释放方面提供自动化支持,从而减轻程序员的负担。:允许多个指针共享同一个对象,当最后一个shared_ptr离开作用域时,对象的内存将自动释放。:独占拥有对象的所有权,不能被复制或拷贝,确保只有一个指针可以访问对象。当unique_ptr离开作用域时,对象的内存也会自动释放。此外,C++17还引入了,用于解决shared_ptr的循环引用问题,它允许创建弱引用,不会增加引用计数。原创 2023-10-22 05:34:18 · 416 阅读 · 0 评论 -
c++父类与子类的转换(QT环境下)
c++父类与子类的转换(QT环境下)转载 2022-09-16 15:50:51 · 2142 阅读 · 0 评论 -
C/C++使用心得:enum与int的相互转换
C/C++使用心得:enum与int的相互转换转载 2022-08-16 15:43:25 · 637 阅读 · 0 评论 -
使用Qt开发iOS应用有何优劣?
作者:JasonWong链接:https://www.zhihu.com/question/25078050/answer/104635143来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 目前我已经有13个由Qt开发的App上架了iOS App Store,我感觉我还是比较有资格来评价这件事的。首先我注意到这已经是一个2年前的问题了,我差不多也是2年前开始用Qt开发iOS,那时候应该也是Qt刚支持iOS开发。...转载 2022-07-08 13:14:42 · 3213 阅读 · 0 评论 -
Qt源码分析--QObject(3)
介绍了QObject的connect函数(形式2)原创 2022-07-01 13:12:41 · 184 阅读 · 0 评论 -
Qt源码分析--QObject(2)
介绍了QObject的connect函数(形式1)原创 2022-06-23 16:26:04 · 199 阅读 · 0 评论 -
Qt源码分析--QObject(1)
解析了QObject类的构造函数和析构函数,还有deleteLater.原创 2022-05-16 16:08:49 · 582 阅读 · 0 评论 -
Qt的QObject(笔记)
QObject 类是所有 Qt 对象的基类。QObject 是 Qt 对象模型的核心。该模型的核心特征是一种非常强大的无缝对象通信机制,称为信号和槽。您可以使用 connect() 将信号连接到插槽,并使用 disconnect() 破坏连接。为避免永无止境的通知循环,您可以使用 blockSignals() 临时阻止信号。QObjects 通过对象树组织。当您以另一个对象作为父对象创建 QObject 时,该对象将自动将自身添加到父对象的 children() 列表中。父级获得对象的所有权;即,它原创 2022-04-19 17:16:11 · 1231 阅读 · 0 评论 -
Qt源码分析--QThread(5)
解析了QThread的setPriority、setStackSize、setTerminationEnabled、msleep、sleep、usleep、wait等函数。原创 2022-04-13 16:37:00 · 1768 阅读 · 0 评论 -
Qt源码分析--QThread(4)
解析了QThead的loopLevel、priority、requestInterruption、run、setEventDispatcher等函数。原创 2022-04-11 17:33:14 · 473 阅读 · 0 评论 -
Qt源码分析--QThread(3)
解析了QThread的exit、idealThreadCount、isFinished、isInterruptionRequested、isRunning等函数。原创 2022-04-08 17:18:57 · 454 阅读 · 0 评论 -
Qt源码分析--QThread(2)
解析了QThread的currentThread、currentThreadId、event、exec等函数。原创 2022-04-07 17:28:36 · 455 阅读 · 0 评论 -
Qt源码分析--QThread(1)
解析QThread的构造函数、析构函数、quit、start、terminate等函数。原创 2022-04-06 17:34:46 · 679 阅读 · 0 评论 -
Qt的QThread(笔记)
QThread 类提供了一种独立于平台的方式来管理线程。QThread 对象管理程序中的一个线程。 QThreads 在 run() 中开始执行。默认情况下,run() 通过调用 exec() 启动事件循环,并在线程内运行 Qt 事件循环。可以通过使用 QObject::moveToThread() 将工作对象移动到线程来使用。然后,slot内的代码将在单独的线程中执行。但是,你可以自由地将 slot连接到来自任何对象、任何线程中的任何信号。通过队列连接的机制,跨不同线程连接信号和插槽是安全的。原创 2022-03-30 17:19:56 · 1066 阅读 · 0 评论 -
Qt源码分析--QWidget(10)--Context menu and Interactive help
解析了QWidget的contextMenuEvent(),actions(),setToolTip(), setWhatsThis()等函数。原创 2022-03-29 17:23:26 · 435 阅读 · 0 评论 -
Qt源码分析--QWidget(9)--System functions
解析了QWidget的parentWidget(), window(), setParent(), winId(), find(), metric()等函数。原创 2022-03-24 17:27:12 · 1036 阅读 · 0 评论 -
Qt源码分析--QWidget(8)--Mouse and keyboard grabbing
解析了QWidget的grabMouse(), releaseMouse(), grabKeyboard(), releaseKeyboard(), mouseGrabber(), keyboardGrabber().原创 2022-03-22 17:10:21 · 635 阅读 · 0 评论 -
Qt源码分析--QWidget(7)--Keyboard focus functions
解析QWidget的 setFocus(), clearFocus(), setTabOrder(), setFocusProxy(), focusNextChild(), focusPreviousChild()。原创 2022-03-18 17:59:34 · 724 阅读 · 0 评论 -
Qt源码分析--QWidget(6)--Look and feel
解析了QWidget的style(), setStyle(), backgroundRole(), setBackgroundRole()等函数。原创 2022-03-16 17:53:09 · 897 阅读 · 0 评论 -
Qt源码分析--QWidget(5)--Mode
解析QWidget的isVisibleTo(), isEnabledTo(), isWindow(), visibleRegion()等函数。原创 2022-03-15 17:24:31 · 983 阅读 · 0 评论 -
Qt源码分析--QWidget(4)--Geometry
解析了QWidget的move、resize、 sizeHint、updateGeometry、 adjustSize、mapFromGlobal、mapToGlobal、setFixedSize等函数。原创 2022-03-14 17:28:55 · 1715 阅读 · 0 评论 -
Qt源码分析--QWidget(3)--Window contents
解析了QWidget的update(), repaint(), scroll()等函数。原创 2022-03-10 17:52:07 · 533 阅读 · 0 评论 -
Qt源码分析--QWidget(2)--Top-level windows
解析了QWidget的activateWindow()、showMinimized()、showMaximized()、showFullScreen(), showNormal()等函数。原创 2022-03-09 14:15:45 · 796 阅读 · 0 评论 -
Qt源码分析--QWidget(1)--Window functions
解析了QWidget的show(), hide(), raise(), lower(), close()等函数。原创 2022-03-08 15:40:19 · 723 阅读 · 0 评论 -
Qt的QWidget类(笔记)
QWidget 类是所有用户界面对象的基类。QWidget是用户界面的原子:它从窗口系统接收鼠标、键盘和其他事件,并在屏幕上绘制自己的表示。每个QWidget都是矩形的,它们按 Z 顺序排序。QWidget被其父级和它前面的QWidget裁剪。未嵌入父窗口QWidget的窗口QWidget称为窗口。通常,窗口有一个框架和一个标题栏,尽管也可以使用合适的窗口标志创建没有这种装饰的窗口)。在 Qt 中,QMainWindow 和 QDialog 的各种子类是最常见的窗口类型。每个QWidget的构造原创 2022-03-04 15:11:47 · 7985 阅读 · 0 评论 -
Qt的定时器(笔记)
QObject 是所有 Qt 对象的基类,在 Qt 中提供了基本的定时器支持。使用 QObject::startTimer(),您可以启动一个以毫秒为单位的定时器作为参数。该函数返回一个唯一的整数定时器 ID。定时器现在将定期触发,直到您使用定时器 ID 显式调用 QObject::killTimer()。要使这种机制起作用,应用程序必须在事件循环中运行。你用 QApplication::exec() 开始一个事件循环。当定时器触发时,应用程序发送一个 QTimerEvent,并且控制流离开事件循环,直原创 2022-03-02 14:35:15 · 2908 阅读 · 0 评论 -
Qt的事件系统(笔记)
事件系统 在 Qt 中,事件是派生自抽象 QEvent 类的对象,它们表示在应用程序内发生的事情或作为应用程序需要了解的外部活动的结果。事件可以被 QObject 子类的任何实例接收和处理 如何传递事件 当一个事件发生时,Qt 通过构造适当的 QEvent 子类的实例来创建一个事件对象来表示它,并通过调用其 event() 函数将其传递给 QObject 的特定实例(或其子类之一)。 该函数不处理事件本身;根据传递的事件类型,它为该特定类型的事件调用事件处理程序,并根据事件是被接受还是被原创 2022-03-01 16:31:35 · 393 阅读 · 0 评论 -
Qt的信号和槽机制(笔记)
信号和插槽 信号和槽用于对象之间的通信。 Qt 的元对象系统使信号和槽成为可能。 在 GUI 编程中,当我们更改一个小部件时,我们经常希望通知另一个小部件。更一般地说,我们希望任何类型的对象都能够相互通信。 其他工具包使用回调实现这种通信。 在 Qt 中,我们有一个回调技术的替代方案:我们使用信号和槽。 信号和槽机制是类型安全的:信号的签名必须与接收槽的签名匹配。 基于字符串的 SIGNAL 和 SLOT 语法将在运行时检测类型不...原创 2022-02-28 14:42:03 · 548 阅读 · 0 评论 -
Qt源码分析--QImage(8)
解析了QImage的setDotsPerMeterX, setDotsPerMeterY, fill 函数。原创 2022-02-24 14:50:53 · 390 阅读 · 0 评论 -
Qt源码分析--QImage(7)
解析了QImage的scaledToWidth, scaledToHeight函数。原创 2022-02-23 17:04:43 · 753 阅读 · 0 评论 -
klayout 在ubuntu下的编译过程
1.从https://github.com/KLayout/klayout上下载源码2.安装Qt5和相应库sudo apt-get install build-essentialsudo apt-get install qtcreatorsudo apt-get install qt5-defaultsudo apt-get install libqt5xmlpatterns5-devsudo apt-get install qttools5-devsudo apt-get in.原创 2022-02-22 10:59:42 · 1940 阅读 · 0 评论 -
Qt源码分析--QImage(6)
解析QImage的scaled()和rgbSwapped()函数。原创 2022-02-21 11:03:10 · 975 阅读 · 0 评论 -
Qt源码分析--QImage(5)
解析QImage的createAlphaMask(), createHeuristicMask() ,mirrored() 等函数。原创 2022-02-11 10:32:28 · 819 阅读 · 0 评论 -
Qt源码分析--QImage(4)
QImage的setPixel, setColor, setPixelColor, scanLine等函数。原创 2022-02-09 10:44:05 · 944 阅读 · 0 评论 -
Qt源码分析--QImage(3)
QImage的text, textKeys, setText, depth, bitPlaneCount, format, bytesPerLine, sizeInBytes, cacheKey 等函数。原创 2022-02-08 15:43:43 · 751 阅读 · 0 评论 -
Qt源码分析--QImage(2)
解析了QImage类的pixel,colorCount,colorTable,pixelIndex,hasAlphaChannel,allGray 函数。原创 2022-02-07 14:11:11 · 776 阅读 · 0 评论 -
Qt源码分析--QImage(1)
QImage 类提供独立于硬件的图像表示 (允许直接访问像素数据,且可以用作描绘设备)。解析了构造函数、size(), width(), height(), dotsPerMeterX(), dotsPerMeterY()等函数。原创 2022-01-27 11:23:21 · 1518 阅读 · 0 评论