
C++
maskerJT
stay hungry, stay foolish
展开
-
windows+openMVS+cmake-GUI编译过程
windows10、openMVS、cmake、编译原创 2022-03-25 17:36:08 · 2469 阅读 · 2 评论 -
安装opencv3.0时出现“fatal error: stdlib.h: No such file or directory”
解决办法:在cmake命令行中加上-DENABLE_PRECOMPILED_HEADERS=OFF即可原创 2022-03-19 19:25:46 · 3710 阅读 · 0 评论 -
C++中for auto的用法
1.for(auto iter:vec)不改变迭代对象的值,for(auto &iter:vec)可以改变迭代对象的值。两者都可以获取到迭代容器中的值,但是使用auto iter时不会对容器对象造成改变,而使用auto &iter,对于iter的任何修改将直接修改容器内对应的值。2.简单的例子#include <iostream>#include <vector>void printVec(std::vector<int>&原创 2021-01-13 09:56:51 · 46843 阅读 · 4 评论 -
VS中程序运行时隐藏DOS黑框
1.项目右键->属性->配置属性->链接器->系统->子系统将原来的【控制台】改成【窗口】 :2.链接器->高级->入口点填入【mainCRTStartup】即可:原创 2021-01-12 15:53:34 · 4985 阅读 · 1 评论 -
C++对文件夹内容计数并输出特定格式文件的名称
借助io.h,支持通配符*,输出count为jpg的个数。#include<iostream>#include <io.h>int main(){ std::string folder = "/*自定义的文件夹位置*/\\images\\*"; std::string ext = ".jpg"; intptr_t handle = -1; _finddata_t fileinfo; std::string file = fol.原创 2021-01-11 21:27:42 · 183 阅读 · 0 评论 -
char**使用的一个范例
首先直接上代码:#include <iostream > using namespace std;int* getnums() { int* p = new int[8]; *p = 0; *(p + 1) = 1; *(p + 2) = 2; *(p + 3) = 3; return p;}void display(int** ptr) { std::cout <<"*ptr="<< *原创 2020-12-31 11:39:20 · 243 阅读 · 0 评论 -
数组的智能指针
数组的智能指针的限制:1,unique_ptr的数组智能指针,没有*和->操作,但支持下标操作[]2,shared_ptr的数组智能指针,有*和->操作,但不支持下标操作[],只能通过get()去访问数组的元素。3,shared_ptr的数组智能指针,必须要自定义deleter一些例子:错误示例:auto siftData = std::make_shared<SiftData[4]>();下文没能初始化改为:shared_ptr<SiftDat转载 2020-12-19 10:13:15 · 1925 阅读 · 1 评论 -
ubantu+openMVG配置过程记录
一、安装新版cmake在后面时会用到cmake,到时候按照给的默认提示安装的话,会给你装一个低版本的cmake,然后这个版本的在这个项目中并不行,所以在开始安装openMVG时我先装好cmake。cmake的各个版本可以在这里查看:查看cmake版本,本文以写博客时的对cmake3.6.3进行安装:$ sudo apt-get install build-essential $ ...原创 2020-03-18 22:11:19 · 399 阅读 · 1 评论 -
杂乱笔记
1.不要返回局部对象的指针或引用,子函数一旦完成,它所占用的存储空间也会被释放掉,因此函数中止意味着局部变量的引用将不再指向有效的内存区域。2.函数重载与const形参:由于顶层const不影响传入函数的对象,因此注意有些包含const的重载是无效的;对于接受引用或者指针的函数而言,对象是常量还是非常量对应的形参不同。int func(int)int func(const int)...原创 2020-02-05 20:38:44 · 127 阅读 · 0 评论 -
指针形参与引用形参的区别
在主函数中定义一指针,并且将其作为函数的实参传递给子函数,并且在子函数中对指针的指向进行了重新赋值,那么当返回主函数时,在子函数中进行了操作会被“忘记”从而无效。若在子函数中使用的是某个变量的引用,那么在子函数中对该引用进行任何更改返回主函数后,其对应的原本的变量的值也会随之改变。int i=5;int *p1=&i;//使用指针int &p2=i;//使用引用究...原创 2020-01-29 23:06:05 · 1997 阅读 · 0 评论 -
高效率的取幂运算
1.计算幂的常见算法是使用N-1次的乘法运算,使用一个for循环即可;//注意int数据类型的大小限制#include<iostream>using namespace std;int main(){ int X, N; cout << "input X and N:" << endl; cin >> X; cin>&g...原创 2020-01-27 21:01:29 · 457 阅读 · 0 评论