摘要: 虽然以前我很怕git冲突,包括以前的版本控制器SVN上的冲突,但是昨天我决定好好的面对它,不去怕它,下面是我的解决过程。。。 话说一天的早上,我和同事(称为A)都同步了网络上的代码,然而A在中途提交了一次,并且合并到主分支master上了,更巧的是提交的那个文件是我现在也修改了的,然后等我晚上提交r 阅读全文
posted @ 2021-01-24 23:42 MaxBruce 阅读(358) 评论(0) 推荐(0)
摘要: 强制类型转换 1. static_cast 2. dynamic_cast 3. const_cast 4. reinterpret_cast 5. 为什么要需要四种类型转换? 1. static_cast 实现C++种内置基本数据类型之间的相互转换,不能用于两个不相关类型进行转换。 例如:将整形数 阅读全文
posted @ 2021-01-24 22:17 MaxBruce 阅读(597) 评论(0) 推荐(0)
摘要: 1.编写一个程序判断一个变量是不是指针? 拾遗-C++中仍然支持C语言中的可变参数函数-C++编译器的匹配调用优先级1.重载函数2.函数模板3.变参函数 #include <iostream> #include <string> using namespace std; class Test { p 阅读全文
posted @ 2021-01-24 21:33 MaxBruce 阅读(157) 评论(0) 推荐(0)
摘要: 类型识别 C++中如何得到动态类型? #include <iostream> #include <string> using namespace std; class Base { public: virtual string type() { return "Base"; } }; class D 阅读全文
posted @ 2021-01-24 21:32 MaxBruce 阅读(59) 评论(0) 推荐(0)
摘要: C++中的异常处理(下) array.h #ifndef _ARRAY_H_ #define _ARRAY_H_ #include <stdexcept> using namespace std; template < typename T, int N > class Array { T m_ar 阅读全文
posted @ 2021-01-24 21:10 MaxBruce 阅读(63) 评论(0) 推荐(0)
摘要: C++中的异常处理(中) 为什么要在catch中重新抛出异常? #include <iostream> #include <string> using namespace std; void Demo() { try { try { throw 'c'; } catch(int i) { cout 阅读全文
posted @ 2021-01-24 21:09 MaxBruce 阅读(60) 评论(0) 推荐(0)
摘要: C++内置了异常处理的语法元素try... catch ...-try语句处理正常代码逻辑-catch语句处理异常情况-try语句中的异常由对应的catch语句处理 try { double r = divide(1,0); } catch(...) { cout << "Divided by ze 阅读全文
posted @ 2021-01-24 21:07 MaxBruce 阅读(66) 评论(0) 推荐(0)
摘要: 异常的概念-程序在运行过程中可能产生异常-异常(Exception)与Bug的区别 异常是程序运行时可预料的执行分支 Bug是程序中的错误,是不被预期的运行方式 异常(Exception)和Bug的对比-异常 运行时产生除0的情况 需要打开的外部文件不存在 数组访问时越界-Bug 使用野指针 堆数组 阅读全文
posted @ 2021-01-24 20:54 MaxBruce 阅读(402) 评论(0) 推荐(0)
摘要: 单例模式需求的提出在架构设计时,某些类在整个系统生命周期中最多只能有一个对象存在(Single Instance)如何定义一个类,使得这个类最多只能创建一个对象?明确创建一个对象,必然会调用构造函数。要控制类的对象数目,必须对外隐藏构造函数 思路:-将构造函数的访问属性设置为private-定义in 阅读全文
posted @ 2021-01-24 20:25 MaxBruce 阅读(161) 评论(0) 推荐(0)
摘要: Qt中的智能指针-QPointer .当其指向的对象被销毁时,它会被自动置空 .析构时不会自动销毁所指向的对象-QSharedPointer .引用计数型智能指针 .可以被自由的拷贝和赋值 .当引用计数为0时才删除指向的对象 #include <QPointer> #include <QDebug> 阅读全文
posted @ 2021-01-24 17:49 MaxBruce 阅读(423) 评论(0) 推荐(0)
摘要: 智能指针类模板智能指针本质上就是一个对象,它可以像原生指针那样来使用。 智能指针的意义-现代C++开发库中最重要的类模板之一-C++中自动内存管理的主要手段-能够在很大程度上避开内存相关的问题 1.内存泄露,在测试阶段很难发现。造成的原因就是申请堆空间中的内存,忘记释放。 2.多次指针释放:一个指针 阅读全文
posted @ 2021-01-24 17:43 MaxBruce 阅读(169) 评论(0) 推荐(0)
摘要: 工具/原料 QT designer 方法/步骤 1 首先创建一个Manwindow窗口 拖一个label到窗口上 把文字去掉,然后把label放大 找到stylesheet一栏 点击右边那个...会弹出来一个窗口,再点击添加资源的下拉框,如图 点击那支笔,会出来个框 点击新建资源文件,如图,保存一下 阅读全文
posted @ 2021-01-24 17:40 MaxBruce 阅读(2970) 评论(0) 推荐(0)
摘要: 本篇博客将深入讨论信号与槽,重点讨论信号与槽的连接方式。信号与槽的连接方式还有什么值得我们注意的地方吗?之前是如何连接信号与槽的呢?通过connect函数将指定的信号连接到指定的槽函数上面,接下来将要发生的事情就是信号一旦被发射,相应的槽函数就会被调用。这是我们最直观的认识。每次调用connect函 阅读全文
posted @ 2021-01-24 17:28 MaxBruce 阅读(1107) 评论(0) 推荐(0)
摘要: 多线程中的信号与槽(下) 可以看到void TestThread::run() end...没有被调用 有趣的问题:如果线程体函数中开启了事件循环,线程如何正确结束?QThread::exec()使得线程进入事件循环-事件循环结束前,exec()后的语句无法执行-quit()和exit()函数用于结 阅读全文
posted @ 2021-01-24 16:46 MaxBruce 阅读(126) 评论(0) 推荐(0)
摘要: 令人不解的问题: 当槽函数是线程类的成员时,为什么依然不在本线程内被调用执行? 隐藏的问题:对象依附于哪一个线程?对象的依附性与槽函数执行的关系?对象的依附性是否可以改变? 对象依附于哪个线程?默认情况下,对象依附于自身被创建的线程例如:对象在主线程(main()函数)中被创建,则依附于主线程 in 阅读全文
posted @ 2021-01-24 16:42 MaxBruce 阅读(232) 评论(0) 推荐(0)
摘要: 值得思考的问题: 线程类的信号与槽 实验一: TestThread.h #ifndef TESTTHREAD_H #define TESTTHREAD_H #include <QThread> class TestThread : public QThread { Q_OBJECT protecte 阅读全文
posted @ 2021-01-24 14:57 MaxBruce 阅读(128) 评论(0) 推荐(0)
摘要: 一个事实 在实际的项目开发中,大多数时候是直接将组件中预定义的信号连接到槽函数,信号发射时槽函数被调用。 深度的思考 信号是怎么来的?又是如何发射的? Qt中信号(SIGNAL)的本质 —信号只是一个特殊的成员函数声明 函数的返回值是void类型 函数只能声明不能定义 —信号必须使用signals关 阅读全文
posted @ 2021-01-24 14:25 MaxBruce 阅读(301) 评论(0) 推荐(0)
摘要: 信号量的概念 -信号量是特殊的线程锁 -信号量允许N个线程同时访问临界资源 -Qt中直接支持信号量(QSemaphore) 线程锁是用来保护临界资源的,每个线程锁每次只允许一个线程进行访问临界资源。 QSemaphore sem(1)定义了一个信号量,并且N的值为1,意味着一次只允许一个线程去访问临 阅读全文
posted @ 2021-01-24 13:51 MaxBruce 阅读(153) 评论(0) 推荐(0)
摘要: 问题:程序有多少临界资源?需要多少线程锁? 临界资源是没有任何的限制 一般性原则:每一个临界资源都需要一个线程锁进行保护(一 一对应) 定义了两把线程锁,显然是为了保护两个临界资源而定义的。在线程A中需要两个临界资源才能保证工作,这两个临界资源对应的线程锁就是m1,m2。在线程B中也需要两个临界资源 阅读全文
posted @ 2021-01-24 13:38 MaxBruce 阅读(116) 评论(0) 推荐(0)
摘要: 值得思考的问题: 多个线程除了在时序上可能产生相互依赖,在其他方面是否也可能产生相互依赖呢? 生产消费者问题:-有n个生产者同时制造产品,并把产品存入仓库中 -有m个消费者同时需要从仓库中取出产品 -规则: 当仓库未满,任意生产者可以存入产品 当仓库未空,任意消费者可以取出产品 编程实验:生产消费者 阅读全文
posted @ 2021-01-24 13:34 MaxBruce 阅读(84) 评论(0) 推荐(0)