随笔分类 -  C++基础笔记

用于记录最基础的知识细节e
摘要:具有良好编码规范的代码就是在保证高质量完成需求的同时具备良好的可读性、可维护性。 注释的编写规范 文件头的注释 该部分主要涉及到作者名、文件名称、文件名称、生成日期等 函数的注释 1.对于关键函数,必须写上注释,说明函数的用途。 2.对于函数中的特别参数,需要说明参数的目的,由谁负责释放等… 3.一 阅读全文
posted @ 2019-10-14 09:05 pokeCode 阅读(364) 评论(0) 推荐(0)
摘要:1.如何理解 * p++? 答:首先后置递增运算符的优先级高于解引用运算符,所以* p++等价于*(p++)。p++把p的值加1,然后返回p的初始值的副本作为其求值结果,此时解引用运算符的运算对象是p未增加之前的值,最终,这条语句输出p开始时指向的那个元素,并将指针向前移动一个位置。 2.new和m 阅读全文
posted @ 2019-08-26 09:40 pokeCode 阅读(161) 评论(0) 推荐(0)
摘要:在学习互斥量之前,我们要清楚什么情况下需要使用互斥量,第一个例子中有一段共享数据g_v,在main()函数中创建了10个线程,这10个线程的入口函数均为myprint(),在函数中打印出共享数据,代码如下: #include<map> #include<iostream> #include<thre 阅读全文
posted @ 2019-08-07 17:03 pokeCode 阅读(506) 评论(0) 推荐(0)
摘要:detach()函数:在有多个线程的程序中,使用此函数后,主线程就不用逐个等待子线程结束,一旦调用detach,与这个主线程相关联的thread对象便会失去与这个主线程的联系,此时子线程就会驻留在后台运行,子线程就相当于被C++运行时库接管了,当子线程执行完毕后,由运行时库负责处理线程的习惯资源。 阅读全文
posted @ 2019-08-06 19:07 pokeCode 阅读(199) 评论(0) 推荐(0)
摘要:有时候把一些参数写在配置文件中,当需要修改这些参数时只需要在配置文件中修改即可,所以掌握如何使用配置文件很重要。 第一步:写配置文件 先了解配置文件的格式,ini文件由 节、键、值组成。 [section] section处填写节的名字 键=值 键代表参数的名字,值为参数的值 … 实例如下所示: 可 阅读全文
posted @ 2019-07-18 15:24 pokeCode 阅读(599) 评论(0) 推荐(0)
摘要:C++中的文件流类 在C++标准库中有三类可用于文件操作,称为文件流类: ifstream:用于从文件中读取数据 ofstream:用于向文件中写入数据 fstream:既可用于从文件中读取数据,又可向文件中写入数据 使用这三个类时,程序中需要包含fstream头文件,C++中各流类的关系如下图所示 阅读全文
posted @ 2019-07-17 14:28 pokeCode 阅读(440) 评论(0) 推荐(0)
摘要:Mat不仅是非常有用的图像容器类,也是一个通用的矩阵类 创建Mat对象可有以下方法: 方法一:使用Mat()构造函数 例子如下: Mat M(2, 2, CV_8UC3, Scalar(0, 0, 255)); 在Mat类定义中该构造函数的原型为: Mat(int rows, int cols, i 阅读全文
posted @ 2019-07-10 19:38 pokeCode 阅读(171) 评论(0) 推荐(0)
摘要:多态行为的基础:基类声明了一个虚函数,派生类声明一个函数覆盖该函数。但覆盖时有要求,即函数签名必须一致(函数签名包括:函数名 参数列表 const)。 可能出现的问题:有时候我们写程序时可能会出现疏漏,本意是想写一个虚函数去覆盖基类的虚函数,但在写的时候可能参数表或者返回值或者其他地方没有把它定义的 阅读全文
posted @ 2019-07-08 10:03 pokeCode 阅读(422) 评论(0) 推荐(0)
摘要:运算符的前缀和后缀前缀++和后缀++的区别在运算符重载中前缀++和后缀++的使用 前缀++和后缀++的区别 i++: 先访问i再进行++操作 ++i:先进行++操作再访问i 在运算符重载中前缀++和后缀++的使用 案例背景:有一个Point类,有成员变量x和y,现需要对Point类重载“++” 前缀 阅读全文
posted @ 2019-07-07 16:47 pokeCode 阅读(1300) 评论(0) 推荐(0)