- 博客(7)
- 收藏
- 关注
原创 深入理解C语言的函数指针的定义和使用
函数指针的定义 函数指针就是指向代码入口地址的指针,是指向函数的指针变量。所以“函数指针”本身是一个指针变量,并且该指针指向的是函数。C语言在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量之后,就可以用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。函数指针的声明和...
2019-11-18 15:02:53 588
原创 Qt文件操作 QFile的使用
文件QFile QFile类提供了一个用于读/写文件的接口,是一个可以用来读/写文本文件、二进制文件和Qt资源的I/O设备。QFile可以单独使用,也可以和QTextStream或者QDataStream一起使用,这样会更方便。一般在构建QFile对象时便指定文件名,当然也可以使用setFileName()在其他任何时间进行设置。无论在哪种操作系统上,文件名路径中的文件分隔符都需要使用‘/...
2019-11-18 13:35:01 4464
原创 C++内联函数(inline)详解
内联函数 函数调用是有时间和空间开销的。程序在执行一个函数之前需要做一些准备工作,要将实参、局部变量、返回地址以及若干寄存器都压入栈中,然后才能执行函数体中的代码。在函数体中的代码执行完毕后还要恢复现场,将之前压入栈中的数据都出栈,才能接着执行函数调用位置以后的代码。 内联函数是C++为提高程序运行速度所做的一项改进。内联函数的编译代码与其他程序代码“内联”起来了,也就是说,编译器将...
2019-11-12 11:24:16 457
原创 qt事件中的accept()和ignore()函数
在使用Qt编写UI界面时,经常会碰到需要重写 mousePressEvent等之类的函数,这里需要根据不同的情况对事件event进行处理。总结起来如下:accept:接受事件(不往下传递),意味着这次的事件已经被接受,不会再往下传递,不会传递给父类。ignore:忽略事件(会继续往下传递),意味着这次事件不被接受,这个事件会一直往下传递。其他参考https://blog.csdn.n...
2019-11-11 11:41:40 2179 2
原创 C++中带默认参数的函数定义及使用总结
对于带参数列表的函数,必须从右向左添加默认值 对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。范例:int fun1(int n, int m = 4, int j = 5); //正确int fun2(int n, int m = 6, int j); //错误int fun3(int n = 1, ...
2019-11-08 17:16:28 3714
原创 Qt编译时出现“undefined reference to 'vtable for' ”的问题及解决办法
问题的原因 Qt 通过信号与槽机制来实现通信的功能。当该类派生自QObject并且在头文件中添加Q_OBJECT宏以后,就可以使用信号与槽。当在类的头文件中添加Q_OBJECT以后QtCreator会自动的创建一个 moc_***.cpp文件,用于实现信号与槽通信的代码。但是,有时当我们通过QtCreator创建类的时候,没有通过IDE选项选择其派生自QObject类,而是在后面添加的,则会出...
2019-11-08 08:46:43 979
原创 C++设计模式----单例模式(1)
单例设计模式 单例设计模式是应用最多的一种设计模式,它要求每个类有且只能有一个实例对象。用C++设计一个单例模式的方法如下:一个类只允许创建唯一的对象,构造函数声明为私有;这样就保证了不能随意构造一个对象。将拷构造函数与等号运算符声明为私有,并不提供他们的实现;即禁止对象被拷贝。在类中声明一个静态的全局访问接口(静态成员变量)。声明一个静态的私有实例化指针。创建方式饿汉式...
2019-11-05 22:35:21 91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人