摘要:
引用和指针是C++中易于混淆的概念。 这里从基础概念说起:指针p是对象,和普通变量一样有地址(&p)和值(p),而值p存储的数据类型是数据的地址,以此达到指向其他变量的目的。(访问指向的值用解引用操作符“ * ”)。 而指针有常量指针和指向常量的指针之分,常量指针既是不可改变值的指针(也就是不改变指 阅读全文
摘要:
explicit是显式转换的意思,一般用于构造函数前,来防止隐式转换。 举个例子 很明显, t1 和 t2都会编译通过,而t3不行(不能从int 转到 Test2),这就是加了explicit(显式转换)关键字的作用,而像t1那样,程序拿到整数之后第一件事情就是把int类型整数构建一个对象。再然后赋 阅读全文
摘要:
写Qt的时候发现提示(type) variable的形式被提提示为" old style " 仔细想想,好像是这么一回事儿。 c++11的几个新的强制转化: static_cast: 用于实数型与整型,字符型数据之间的相互转化。 reinterpret_cast: 用于不同类型的指针,不同类型的引用 阅读全文
摘要:
程序写多了,就会在各个Qt函数里面都发现parent指针的身影,出于知识补全写个博客记录一下。 先从明显的角度上来说: 指定了parent指针(或者this指针)的对象的构造函数所构造出的窗口,是不作为顶层窗口出现的,而是作为父组件的子对话框(区别就是系统任务栏,没有parent指针的会出现两个顶层 阅读全文
摘要:
QObject::connect函数,顾名思义,链接函数,作用是链接信号(signal)和槽(slot), 基本格式如下: 当sender发出了signal(这种信号类似于广播,谁需要谁就建立相应的槽去接收)之后,会自动调用receiver 的slot函数。connect函数也是信号槽机制的体现。 阅读全文
摘要:
学习qt的时候遇到了lambda表达式(之前偷懒没去看),补一下: lambda表达式出现的意义:实际上就是匿名函数(没有函数名的函数,无法在表达式之外调用),在写代码的时候不可能面面俱到把一些简单的函数从声明到实现完整地写出来,费时费力不讨好,因此需要匿名函数来干这事儿。 格式: 基本格式就是这样 阅读全文
摘要:
首先应该明确的一点是,学习是由两个方面组成的:即是学习知识本身,以及在学习的过程中锻炼学习能力。 两者都是学习的目的,而后者可以说是前者的进阶。因此不可仅仅只是学习,靠各种死记硬背来“获取”知识,而应当在学习知识的过程中充分地,有意识地去锻炼自己的学习能力,包括但不限于:获取知识的能力,独自分析并解 阅读全文
摘要:
这方面的内容经常记了又忘,所以把它给贴上来。 变量的数据类型是可以转换的。转换的方法有两种, 一种是自动转换,一种是强制转换。自动转换自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。2.转换按数据长度增 阅读全文
摘要:
简单选择排序 简单选择排序就是通过关键字之间的比较,在记录里面找到最小(或者最大)的数字,并同当前位置交换之。 贴个代码: 分析一下:很显然,对于一个无序数组来说,把第一个数的下标暂且作为值最小的下标,然后通过与其后的数据对比,找出真正的最小的数组的下标,如果找到,就交换,如果没找到,说明当前数据是 阅读全文