C++
文章平均质量分 63
C++
wwwsssZheRen
Zhejiang University, Computer vision
展开
-
VS代码性能分析
使用 PerfTips 检查性能查看性能信息的最简单方法是使用PerfTips,可以在与代码交互时查看性能信息。你可以查看事件持续时间(从调试程序上次暂停或应用启动时开始计算)等信息。例如,如果单步执行代码(F10、F11),PerfTips 将显示自上次单步执行操作到当前单步执行操作的应用运行时持续时间。...原创 2020-11-10 11:05:55 · 495 阅读 · 0 评论 -
C++中#define
1、#define 被定义为“宏”的标识符称为“宏名”,在编译预处理时,对程序中所有出现的“宏名”,都用宏定义的字符串去代换,宏代换是由预处理程序自动完成的。 宏定义的作用范围仅限于当前文件,在file1.c中定义的#define PI 3.14在file2.c中不起作用;但#define PI 3.14定义在common.h中,而file1.c与file2.c都#i...原创 2019-07-15 10:38:12 · 1172 阅读 · 0 评论 -
C++继承多态实现接口内容封装例子
封装(private中的数据都通过Get与Set来访问)可以使代码模块化,继承(:)可以扩展已存在的代码,而多态的目的是为了接口重用(即相同名字的接口可能实现不同的Function功能,因为他们可能可以扩展成一个子类)。多态通过父类指针操作子类对象成员函数。 虚函数:允许被其子类重新定义的成员函数,子类重新定义父类虚函数的做法,可实现成员函数的动态覆盖。 ...原创 2018-12-06 20:14:06 · 574 阅读 · 0 评论 -
C++封装、继承、多态的特性
面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装为了隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类),它的目的是为了——代码重用。而多态则是为了实现另一个目的——接口重用!数据封装 数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。C++ ...转载 2018-09-21 14:59:29 · 367 阅读 · 0 评论 -
VS2017下用release进行程序调试及无法打断点问题
有时候程序过大时,用Debug在VS下调试速度过慢,变换成release版本。需要确保每一个工程都有如下配置,例如你想调试Recog工程下的某个CPP文件。那么只对cup工程release的配置是不够的,也需要对Recog工程有这个配置。具体操作如下:C++>General->Debug Information Format->Program Dat...原创 2018-07-25 10:21:05 · 14083 阅读 · 0 评论 -
C++ General Skill
★Google C++书写规范注意事项:1)类中定义的变量名,需要小写的有意义的单词和下划线(最后要加下划线!);函数中的变量名称可以随意取。一、 C++中对于map结构中的某一个元素或者某一个值进行排序 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。这是一种map存放数据结构的方式。假...原创 2018-07-11 16:46:24 · 726 阅读 · 0 评论 -
C++中参数输入int main(int argc, char* argv[])
C++中执行文件时候需要命令行参数的输入,一个简单的例子如下:#include <iostream>using namespace std;int main(int argc, char* argv[]) { cout << argc << endl; for (size_t i = 0; i < argc; i++) { cout ...原创 2018-05-08 07:36:15 · 2721 阅读 · 0 评论 -
C语言中#if 0,#if 1,#else,#endif的作用
在C语言中时常会用到#if 0,#if 1,#else,#endif语句,语句如下所示:#if 0 code1#else code2#endif此时code1的语句被注释掉了,永远没有办法执行,而code2是被编译的;如果将#if 0变为#if 1,code1被编译,而code2永远没有办法被执行。原创 2018-01-16 17:20:59 · 36389 阅读 · 0 评论 -
C++基础
1.C++条件操作符--(问号?)随着程序越来与复杂,会在代码中出现越来越多的if语句。有些时候我们只要电脑做一个简单的判断,就要用占据多行的if语句,实在有点吓人,使得程序的可读性受到一定的影响。条件操作符具体语法为:(条件表达式)?(条件为真时的表达式):(条件为假时的表达式);它的运算优先级比逻辑或还低,是目前为止优先级最低的操作符。那么条件操作符执行时间与if-else判断语句...原创 2017-07-06 10:35:26 · 848 阅读 · 0 评论 -
多线程,Mutex,及OpenMP编程
1、什么是多线程? 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。1)单进程单线程:一个人在一个桌子上吃菜。2)单进程多线程:多个人在同一个桌...原创 2017-09-18 10:10:07 · 1550 阅读 · 2 评论 -
LIB、DLL及C++的编译过程
C++的编译过程(摘自:http://www.cnblogs.com/dongdongweiwu/p/4743709.html)了解编译过程的益处c++工程相关的问题什么是库?静态库和动态库又有什么区别?头文件起什么作用?编译过程简介名词:编译:把源文件中的源代码翻译成机器语言,保存到目标文件中。如果编译通过,就会把CPP转换成OBJ文件。编译单元:原创 2017-09-10 08:47:19 · 547 阅读 · 0 评论 -
QT5.8+VS2015环境配置(全)
1、下载你想要的QT版本 第一步是下载你想要的QT版本,我这里是下载QT5.8.0,打开链接https://www.qt.io/download/进行下载,点击“Free commercial 30-day trial and open source downloads available”,进入跳转页面时候会出现两个版本供我们选择,分别是“Commercial”和“Open So原创 2017-08-30 17:13:09 · 21996 阅读 · 3 评论 -
C++记录程序运行的时间
一、用clock()计时函数 该函数为C++典型计时函数,即为程序从启动到函数调用占用CPU的时间。该函数的返回值是从程序开启到程序调用clock()函数之间的CPU时钟计时单元数(clock tick)。 数据类型保存形式:clock_t(长整形数) 头文件:time.h 常量CLOCKS_PER_SEC:一秒钟有多少个时钟计时单元原创 2017-08-19 10:29:09 · 624 阅读 · 0 评论 -
QT中设置一个简单定时器实例
在QT中设计一个简单的定时器实例如下:1、创建一个简单的对话框dialog,并且在dialog中需要include 在Dialog类中的private下定义: QTimer *testTimer;原创 2017-09-07 10:58:29 · 1862 阅读 · 2 评论 -
在QT中用QLabel显示一张图像及QImage/QPixmap/QBitmap/QPicture
在QT中显示图像,是使用OpenCV联合QT进行机器视觉项目的开发的第一步。首先需要弄清楚的是QT的四个图像类QImage/QPixmap/QBitmap/QPicture。 QPixmap是专门为绘图而生,当需要绘制图片时候需要使用QPixmap。为它是存储在服务器端,往QPixmap上绘图比较慢,但显示它则比较快。但在Windows平台上则是是一样的,因为它们都存储在客户端。原创 2017-09-05 11:25:09 · 18443 阅读 · 0 评论 -
条形码识别项目中C++以及OpenCV基础知识
imwrite只能保存到已知的文件夹目录,若文件夹目录不是已知的,在C++中可以添加CreateDirectory(filename, NULL);语句来建立已知的文件夹,其中filename是char类型。循环保存文件夹或者图像时: sprintf(Smallfilename, "C:/Users/SLJ/Desktop/TestImage/pic%d", nu原创 2017-08-07 10:05:58 · 4886 阅读 · 0 评论