
C/C++
邦戈栗子
这个作者很懒,什么都没留下…
展开
-
opencv 将多张图像做简单的拼接
#include <iostream>#include <core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>#include<opencv2/stitching.hpp> using namesp...转载 2019-11-07 18:06:34 · 654 阅读 · 0 评论 -
_findnext()异常,win10中使用文件遍历函数_findnext会报0xC0000005错误
在win10中,使用文件遍历函数_findnext会报0xC0000005错误原因:_findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定义为long,在win7中是没有问题,但是在win10中就要改为long long或者intptr_t/* Get all files in a folder specified by path ...转载 2019-11-07 09:55:17 · 343 阅读 · 0 评论 -
C/C++ auto 关键字的使用
auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,类似的关键字还有decltype。举个例子:int a = 10; auto au_a = a;//自动类型推断,au_a为int类型 cout << typeid(au_a).name() << endl;typeid运算符可以输出变量的类型。程序的运行结果输出了: ...转载 2019-02-15 15:29:10 · 5437 阅读 · 0 评论 -
C++知识点
一、基础问题1、new<>delete和malloc<>free区别: 这两个表达式都用于申请动态内存和释放动态内存。但是new可以用于非内部数据类型的对象,而malloc是无法做到的,因为new和delete是作用于构造函数和析构函数的,是c++的运算符;但是malloc是库函数。 注意delete是调用一次析构函数,而delete[]会对每一个成员都调用析构函数,...转载 2019-02-15 08:41:28 · 183 阅读 · 0 评论 -
编程:输入输出
1、c++篇(1)输入一个数字再加上空格间隔的数组:int num;cin>>num;int *arr = new int[len+1]for(int i=0; i<=num; i++){ cin>>arr[i]; }(2)需要多次输入形式重复的数据:while(cin>>k)(3)对于不存在空格的字符数组:c...转载 2019-02-15 08:36:30 · 690 阅读 · 0 评论 -
C/C++ const/static/&
1、const与staticconst 常量的在超出其作用域的时候会被释放,但是 static 静态变量在其作用域之外并没有释放,只是不能访问。static 修饰的是静态变量,静态函数。对于类来说,静态成员和静态函数是属于整个类的,而不是属于对象。可以通过类名来访问,但是其作用域限制于包含它的文件中。static 变量在类内部声明,但是必须在类的外部进行定义和初始化。const 常...原创 2019-02-15 08:11:37 · 140 阅读 · 0 评论 -
error C4996: 'kbhit': The POSIX name for this item is deprecated
编译c++程序时遇到如下问题:“error C4996: 'kbhit': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _kbhit. See online help for details.” 解决办法:在头文件尾部添加#pragma warning(d...原创 2018-12-15 12:25:19 · 6567 阅读 · 5 评论 -
C++ 虚函数表解析
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。虚函数表虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Ta...转载 2019-02-15 17:16:01 · 145 阅读 · 0 评论 -
C++虚函数与纯虚函数用法与区别
1.概念 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。-------------------------C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函...转载 2019-02-15 18:00:05 · 247 阅读 · 0 评论 -
类的字节对齐计算
若char是一字节,int是4字节,指针类型是4字节,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 class CTest { public: CTest():m_chData(‘\0’),m_nD...原创 2019-02-19 11:07:07 · 312 阅读 · 0 评论 -
C/C++ 基础知识整理
1.指针和引用的区别?非空区别。指针可以指向空,而引用不可以。 合法性区别。引用不需要测试合法性,而指针需要。 可修改区别。指针可以被重新赋值指向新的对象,而引用不可以,一直指向初始化指定的对象,但是对象的内容可以改变。 应用区别。指针:可能存在不指向任何对象的可能,不同时刻指向不同对象。引用:总是指向一个对象且不会改变指向。2.传递动态内存如果一定要用指针参数去申请内存,那么应采...原创 2019-03-05 08:14:01 · 264 阅读 · 0 评论 -
C++ 保存和读取二进制文件
#include <iostream>#include <fstream>using namespace std; int main(int argc, char** argv){ int a[5] = {1,2,3,4,5}; int b[5]; ofstream ouF; ouF.open("./me.dat", std::ofstr...转载 2019-05-21 09:13:52 · 8613 阅读 · 0 评论 -
C/C++ 二进制文件读写
一个短整型数字(例如 1297)既可以用一个字符串表示 "1297",如图 1 所示:图 1 以字符串表示的数字也可以用一个二进制数字表示,如图 2 所示:图 2 以二进制表示的数字这两种表示都可以看作是字节序列。字符串表示取决于用于表示单个字符的编码类型,使用ASCII编码时长度为 4 个字节。二进制数字表示中的字节数取决于数字的类型,当数字是短整型时,长度为 2 个字节...原创 2019-07-10 17:22:49 · 858 阅读 · 0 评论 -
LeetCode: Two Sum 求解两数之和及哈希算法
=======题目描述=======题目链接:https://leetcode.com/problems/two-sum/题目内容:Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assu...原创 2018-12-09 17:40:28 · 890 阅读 · 0 评论 -
C/C++基本数据类型长度
ANSI C/C++基本数据类型:说明:(1)类型修饰符signed和unsigned用于修饰字符型和整形。(2)类型修饰符short和long用于修饰字符型和整形。(3)当用signed和unsigned、short和long修饰int整形时,int可省略。(4)其中bool和wchar_t是C++特有的。(5)除上表以外,C/C++都可以自定义枚举enum、联合...转载 2018-12-05 11:02:21 · 1370 阅读 · 0 评论 -
不同进制之间的转换
在这里暂且只讨论整型正数,二、八、十、十六进制之间的相互转换,以后可能会对非整型负数和其他进制进行补充。 首先,我研究了进制之间相互转换的方法,如下: 从转换关系中,我们推出发现一个结论:任何进制数在转换成十进制数时,均为按权展开相加求和;十进制数在转换成任何进制数时,均为除其进制取余(这两个结论应该不止仅限于二、四、八、十六进制的相互转换)。那么,...转载 2018-11-26 09:55:02 · 3857 阅读 · 0 评论 -
C/C++ 判断文件夹是否存在以及创建、删除文件夹
1.Windows下创建单个文件夹示例:#include <io.h> #include <direct.h>using namespace std;int main(){ string dir = "./test"; if (_access(dir.c_str(), 0) == -1) { cout << dir << " ...原创 2018-06-12 19:11:23 · 5669 阅读 · 0 评论 -
C/C++按照文件属性对文件进行复制、移动、删除操作
欢迎指正,转载请注明出处://代码:文件夹中限制文件数目,超出数目后,按照创建时间顺序,删除时间最早的文件#include <io.h>#include <vector>#include <AtlBase.h>#include <time.h>#include <string.h>#include <iostream>...原创 2018-06-12 19:49:04 · 1657 阅读 · 0 评论 -
C/C++ pair和make_pair
有时需要将两个不同的变量或者不同的变量类型“绑定”,那么pair和make_pair就可以实现上述功能。先引入一个使用样例,后面在详细介绍函数内容:// make_pair example#include <utility> // std::pair#include <iostream> // std::coutint main () { st...原创 2018-06-14 11:43:47 · 1115 阅读 · 0 评论 -
C/C++多线程、线程同步(互斥锁与信号量)
参考链接2.中写的非常好,简单易懂,上手快,非常好的博文。使用多线程及互斥锁样例:#include <iostream>#include <windows.h>using namespace std;HANDLE hMutex = NULL;//互斥量//线程函数DWORD WINAPI Fun(LPVOID lpParamter){ for (int...原创 2018-06-14 12:24:16 · 7850 阅读 · 0 评论 -
C/C++文件读写详解(一)(ofstream、ifstream、fstream)
在实际应用中经常需要对文本文件进行读写等操作,结合自己实践应用及参考其他资料,现在对常用内容进行整理:1.图中展示了各个文件直接的关系基于控制台的I/O头文件类型iostreamistream从流中读取ostream写到流中去iostream对流进行读写,从istream和ostream派生基于文件的I/O头文件类型fstreamifstream从文件中读取,由istream派ofstream写到...原创 2018-06-07 20:41:24 · 7216 阅读 · 0 评论 -
C/C++获取文件夹下所有文件的名字及全路径
在实际中,会遇到需要通过程序获取当前路径下所有文件的名称,以下函数可以实现获取所给路径下文件名 及文件对应的全路径;需要包含文章末尾的两个头文件#include <vector>#include"dirent.h"#include"unistd.h"using namespace std;vector <string> VecFilePathNames;vec...原创 2018-06-07 17:15:34 · 4465 阅读 · 0 评论 -
c++ 类数据初始化遇到“不允许使用数据成员初始值设定”的问题
错误代码示意:ViBe.hclass ViBe{ int c_xoff[9] = { -1, 0, 1, -1, 1, -1, 0, 1, 0 };}运行c++代码提示:error C2536: “ViBe::ViBe::c_xoff”: 无法指定数组的显式初始值设定项尝试在.h 中定义变量,构造函数中进行初始化后提示以下错误:error C2440: “=”: 无法从“initialize...原创 2018-05-11 19:45:31 · 10115 阅读 · 1 评论 -
C/C++ 测试某个模块耗时的代码
//列举三种常见测试耗时时间的代码//1、使用#include <time.h>#include<time.h>#include<stdio.h>#include<stdlib.h>void main(void){ clock_t startT,finishT; double usedT; startT = clock(); /*...原创 2018-05-16 19:25:01 · 1373 阅读 · 0 评论 -
C/C++文件读写详解(二)(istringstream、ostringstream、stringstream)
1.#include <sstream>istringstream类描述:从流中提取数据,支持 >> 操作字符串可以包括多个单词,单词之间使用空格分开istringstream的构造函数原形: istringstream::istringstream(string str); #include <fstream>#include <iostream&...原创 2018-06-08 13:23:31 · 2133 阅读 · 0 评论 -
C/C++ vector 删除指定元素
C++ vector 删除符合条件的元素C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法。C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换。1.std::vector::erase() 函数原型:iterator erase (iterator position); //删除指定元素 ...原创 2018-06-28 19:25:05 · 70950 阅读 · 2 评论 -
C/C++ 创建多级文件夹(mkdir)
//依赖的头文件#include <direct.h>##include <string>#include <io.h>int CreateMultiFileList(char *strDirPath){ if (strlen(strDirPath) > MAX_PATH) { return -1; } int ipathLeng...原创 2018-08-31 13:31:54 · 14305 阅读 · 4 评论 -
C/C++ 控制浮点型精度
先乘取整再除float fScore;fScore=0.123456;//*100表示保留的精度为0.01//+0.005是为了四舍五入int u32Score = (fScore+0.005) * 100;fScore = (float)u32Score / 100;字符串法/** 计算浮点型四舍五入。*/float BaseConstruction::g...原创 2018-10-16 18:22:59 · 1505 阅读 · 0 评论 -
笔记:算法笔记-胡凡、曾磊
1.cin和cout耗时比scanf和printf多,同一个程序中不要同时使用cout和printf;2.ASCII码中 小写字母比大写字母大32;3.%c是char的输出格式,%s是字符串或者char数组的输出格式,scanf的%c格式是可以读入空格与换行的;4.不能把字符串常量赋值给字符变量,例如 char c="abc";5.%md可以使不足m位的int型变量以m位进行右对齐...原创 2018-11-05 10:04:02 · 2396 阅读 · 0 评论 -
map,hash_map和unordered_map 实现比较
map介绍Map是STL[1]的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的...转载 2018-11-20 20:10:47 · 343 阅读 · 0 评论 -
数据结构与算法:常用排序算法总结
排序算法稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在Aj之前,排序后Ai还在Aj之前,则称这种排序算法是稳定的。通俗地讲就是保证排序前后两个相等的数的相对顺序不变。 对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必须对算法进行分析从而得到稳定的特性。需要注意的是,排序算法是否为稳定的是由具体算法决定的,不稳定的算法在某种条件下可以变为稳定的...转载 2018-11-19 15:57:07 · 273 阅读 · 0 评论 -
目标定位和检测系列:交并比(IOU)和非极大值抑制(NMS)的python与C/C++实现
Python实现交并比(Intersection over Union)和非极大值抑制是(Non-Maximum Suppression)是目标检测任务中非常重要的两个概念。例如在用训练好的模型进行测试时,网络会预测出一系列的候选框。这时候我们会用NMS来移除一些多余的候选框。即移除一些IOU值大于某个阈值的框。然后在剩下的候选框中,分别计算与ground truth的IOU值,通常会规定当候...转载 2018-11-20 14:00:42 · 2865 阅读 · 1 评论 -
C/C++获取当前系统时间的方法
1、使用系统函数,并且可以修改系统时间#include <stdlib.h>using namespace std;void main(){ system("time");}备注:获取的为 小时:分钟:秒 信息2、获取系统时间(秒级),可以换算为年月日星期时分秒#include<iostream>#include<time.h>us...原创 2018-06-04 15:13:10 · 85048 阅读 · 7 评论