C++
浦东新村轱天乐
Talk is cheap,show me the code.
展开
-
windows clion 配置c++
参考了这篇文章,文中给出的mingw链接不对,虽然是官方的,但下载下来后clion无法识别。搜了半天,没有一个能用的,最后在github上找到的,可用https://github.com/mstorsjo/llvm-mingw/releases原创 2021-11-12 23:36:31 · 1007 阅读 · 0 评论 -
关于编程输入以及输入不确定数组的总结
一、使用cin输入时,分为两种情况:1、输入一行cin>>a>>b;输入的格式为 a b空格隔开,Enter结束2、输入多行,元素不确定时(1)vector<int> v(n)for(int i=0;i<n;i++) cin>>v[i];//或者是scanf(&v[i])(2)vector&l...原创 2018-08-11 19:41:00 · 3102 阅读 · 0 评论 -
斐波那契数列
#include<iostream> using namespace std;long long Fibonacci(unsigned int n)//递归{ if (n <= 0) return 0; if (n == 1) return 1; return Fibonacci(n - 1) + Fibonacci(n - 2);}long lon...原创 2018-08-16 10:37:34 · 104 阅读 · 0 评论 -
二分查找跳出循环条件分析
#include<iostream>using namespace std;int searchBin(int a[],int length, int num){ int low = 0; int high = length - 1; int mid; while (low <= high)//分析为什么是<=而不是< ...原创 2018-08-18 11:55:11 · 2027 阅读 · 1 评论 -
基于栅格地图的A*算法
#include<iostream>#include<vector>using namespace std;struct Node2D { int x; int y; float g; float h; float f; int idx; int preidx;};Node2D popNode2D(st...原创 2018-08-04 20:09:01 · 6893 阅读 · 4 评论 -
冒泡排序
#include<iostream>using namespace std;void bubbleSort1(int a[], int len)//大的往下沉,从前往后扫描{ for (int i = 0; i < len - 1; i++) { bool flag = false; for (int j = 0; j &l...原创 2018-08-11 11:18:01 · 145 阅读 · 0 评论 -
剑指offer12:矩阵中的路径
#include<iostream>using namespace std;class Solution {public: bool hasPath(char* matrix, int rows, int cols, char* str) { int pathLength = 0; bool *isVisited = new bool[rows*cols]; m...原创 2018-08-17 11:09:52 · 134 阅读 · 0 评论 -
c++ set
'''c++#include&lt;iostream&gt;#include&lt;set&gt; //自动排序 using namespace std;struct Student{ //Student结构体 string name; int age;};//仿函数,为Student set指定排序准则cla...转载 2018-08-29 22:29:22 · 119 阅读 · 0 评论 -
老生常谈,正确使用memset
转自https://blog.csdn.net/my_business/article/details/40537653#commentBox 前段项目中发现一个问题,程序总是在某个dynamic_cast进行动态转换时出异常,查了半天才发现问题原来是出在memset的使用上,虽然问题本身显而易见,但当处于几十万行代码量级中时,就变得不太那...转载 2018-11-03 22:38:08 · 186 阅读 · 0 评论 -
004:第四周程序填空题3
#include <iostream>#include <cstring>using namespace std;class Array2 {public: int **data = nullptr; int h, w; Array2():h(0),w(0) {} //1、数组创建和回收 //创建时,通过先分配每一个下标的N个指针,现为对应的每个指针分...原创 2019-03-22 13:43:31 · 1660 阅读 · 0 评论 -
Eigen使用的坑
先记录一个很详细的博客,还没完全看懂,后面再看欧拉角、四元数、旋转矩阵推导及相互关系1、切记Eigen的类型不会自动转换 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY2、Eigen中的向量其实就是单行...原创 2019-01-11 23:05:35 · 3434 阅读 · 0 评论 -
北大MOOC第五周003:魔兽世界之二:装备
一个一个结果对比了,发现结果都对啊,但是没有通过。。。其实很简单,就是在原来魔兽世界一的基础上多加了一个武器的功能,然而自己还是搞了一个小时,两周前写的程序都忘完了,发现自己当时写的程序注释不够详细,所以才会导致程序中的变量好多都忘了。吸取教训,要注释的详细一点,你的遗忘速度真的很快!!!原题地址http://cxsjsxmooc.openjudge.cn/2019t3sprintw5/...原创 2019-03-31 22:37:03 · 648 阅读 · 0 评论 -
“WCHAR *”类型的实参与"const char *"类型的形参不兼容
解决办法:属性管理器,vs2015默认字符集为Unicode字符集,改为使用多字节字符集。原创 2019-01-10 16:56:50 · 8127 阅读 · 3 评论 -
passing ‘const *’ as ‘this’ argument of ‘*’ discards qualifiers
以前也一直用const 引用作为参数传递,但是在有一次遇到了问题,懵了,为啥之前没遇到呢?查了资料才发现,以前自己都没写过类,都是各个函数调用没有问题,但是这次遇到问题是类内的成员函数之间的,和之前自己写的不同。这时候就不能想const就const了,要考虑的还挺多。需要铭记!!!如题:#include<iostream>using namespace std;clas...原创 2019-01-11 22:54:36 · 11149 阅读 · 1 评论 -
北大MOOC第五周001:全面的MyString
题目地址http://cxsjsxmooc.openjudge.cn/2019t3sprintw5/001/实战中学习,你觉得自己基础掌握的不错,是骡子是马show me the code,还是不行。自己在写vector和string的过程中才慢慢真正了解了C++的一些功能,以前都是只知道这些东西,但是不知道有啥用。目前所用到的知识点:1、C++中各种构造函数的不同和用处2、不同操...原创 2019-03-31 23:57:21 · 2695 阅读 · 3 评论 -
Eigen使用方法
看了这边博客之后总结一下https://blog.csdn.net/augusdi/article/details/12907341#,感谢原作!看了之后学到了好多!1、矩阵定义不管是向量还是矩阵,都具有默认构造函数,所以定义一个变量时可以不指定任何参数,等到用的时候具体分配。模板参数共六个,前三个用的比较多,是类型,行和列。typedef Matrix<double,Dyn...原创 2019-03-01 16:38:22 · 1476 阅读 · 0 评论 -
C++ 顶层const和底层const
一、const 的引用1初始化常量引用可以用任意表达式作为初值,如 const int &r1=2*r2,const int &r1=2;而这在非const常量中时不允许的,int & r1=2*r2,报错为什么呢?当一个常量引用发生被绑定到另一种类型上时,编译器定义了另外一个临时量2对const的引用可引用到一个并非const对象上int i=42;...原创 2018-08-02 15:10:11 · 205 阅读 · 0 评论 -
sizeof和strlen的区别
对于数组char a[10]="12345";sizeof(a) 为10,其在编译阶段就已经计算出来了strlen(a) 为 5,是实际字符串的长度,不包含'\0'对于指针char *s="asdfqwer"; sizeof(s)为4,是一个指针的大小(有个疑问,为什么这时不是字符串的长度?*s按理说不也是一个数组的头指针吗)sizeof(*s)为1,是一个char...原创 2018-08-02 15:12:54 · 377 阅读 · 0 评论 -
C++内存对齐问题
做MOOC的作业,发现了这个问题,还是我的知识盲区,记录一下。#include <iostream> using namespace std;class A {private: char b[2];public: void Fun(){}};class A1 {private: char b[2];public: virtual void Fun() {...原创 2019-04-03 17:42:21 · 193 阅读 · 0 评论 -
Windows下C++获取系统时间
使用GetLocalTime()函数头文件包含 Windows.h #include<Windows.h> SYSTEMTIME sysTime; GetLocalTime(&sysTime);原创 2018-11-03 09:02:54 · 865 阅读 · 0 评论 -
c++ STL中heap的用法(priotity_queue待续)
1、make_heap(_First,_Last);make_heap(begin(),end(),Compare);默认建立最大堆,可传入greater<int>()得到最小堆。2、push_heap()push_heap(v.begin(),v.end(),less<int>());在已有的堆上,先插入元素到尾部,再push_heap3、po...原创 2018-08-14 12:07:53 · 359 阅读 · 0 评论 -
C++文件读写详解(ofstream,ifstream,fstream)
转自https://blog.csdn.net/kingstar158/article/details/6859379 在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:#include ...转载 2018-10-30 22:20:46 · 226 阅读 · 0 评论 -
C++类模板使用详解
转自:https://www.cnblogs.com/sevenyuan/p/3154346.html1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。...转载 2018-09-02 10:42:40 · 2501 阅读 · 1 评论 -
C++ string和stringstream用法
转自https://blog.csdn.net/sunshineacm/article/details/78068987 一、stringstring 是 C++ 提供的字符串类型,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必须先加入这一行:#include &l...转载 2018-11-03 09:49:08 · 950 阅读 · 1 评论 -
vector erase 多个元素
#include<iostream>#include<vector>#include<set>using namespace std;int main(){ int arr[10] = { 3,4,5,6,3,4,4,9,8,8 }; vector<int> ivec(arr, arr + 10); set<int&g...原创 2018-08-30 22:23:18 · 795 阅读 · 0 评论 -
c++读写锁和条件变量
读写锁std::shared_mutex用于管理可转移和共享所有权的互斥对象,适用场景比较特殊:一个或多个读线程同时读取共享资源,且只有一个写线程来修改这个资源,这种情况下才能从shared_mutex获取性能优势(Shared mutexes are usually used in situations when multiple readers can access the same resource at the same time without causing data races, but o原创 2021-07-29 21:20:22 · 821 阅读 · 0 评论 -
c++知识点
读bag多任务线程加锁读写锁wait_forstd::shared_mutex用于管理可转移和共享所有权的互斥对象,适用场景比较特殊:一个或多个读线程同时读取共享资源,且只有一个写线程来修改这个资源,这种情况下才能从shared_mutex获取性能优势(Shared mutexes are usually used in situations when multiple readers can access the same resource at the same time without ca原创 2021-07-30 00:22:55 · 92 阅读 · 0 评论 -
一定要要重视 “有符号/无符号不匹配” 的警告!!!!
今天刷题发现了一个自己从来没有在意过的知识点,自己真的是惊了。精简来说是这样int i = -1;vector<int> v(2);cout<< ( i < v.size() ) <<endl;//输出 0 fuck?此题来源于刷题时遇到的一个小bug。for (int k = i-1; k < ss.size()...原创 2019-08-23 23:54:46 · 2821 阅读 · 0 评论 -
C++ cout格式化输出补0
#include <iostream>#include<iomanip>using namespace std;int main(){ //左侧补零 //只针对整数可行,因为没有浮点数左侧补零这种写法 如05.1 int a = 5; cout << setw(3) << setfill('0') << ...原创 2019-03-12 21:12:55 · 15953 阅读 · 0 评论 -
北大MOOC第三周 005:魔兽世界之一:备战
题目描述http://cxsjsxmooc.openjudge.cn/2017t3fallw32/005/#include <iostream>#include<vector>#include<string>#include<map>#include<iomanip>using namespace std;type...原创 2019-03-12 17:30:21 · 1585 阅读 · 0 评论 -
C++ -windows与unix路径分隔符
原文链接:http://www.cnblogs.com/duboway/archive/2013/09/22/3333649.html总结:1、对操作系统来说,Linux下是反斜杠 /,windows下是斜杠2、对编程来说,斜杠/表示路径,反斜杠\表示转义字符3、vs系列IDE中,include中路径分隔符,斜杠反斜杠都能用;Linux下只能用斜杠/....转载 2018-12-03 13:44:05 · 1055 阅读 · 0 评论 -
c++包含当前目录的文件夹该怎么设置属性管理器
如图所示,工程目录下lib和loam_velodyne两个文件夹下都有要包含的.cpp或者.h文件要想在包含头文件时能够找到这里面的文件,只需c/c++->常规里的附加包含目录添加一个 ./ ,用以表示将当前工程目录即loam_kitti目录添加到搜索文件目录里去看到了一种设置默认目录的方法^_^,记录一下https://blog.csdn.net/superb...原创 2018-12-19 02:21:49 · 723 阅读 · 0 评论 -
C++读写文件笔记
1、按行读,数据逗号隔开(这种是C语言下的)int loadResults(string file_name) { FILE *fp = fopen(file_name.c_str(), "r"); if (!fp) return poses; while (!feof(fp)) { //第四个bug,必须是double,因为fscanf是 %lf是double类型的!!! ...原创 2019-01-03 21:26:32 · 204 阅读 · 0 评论