- 博客(19)
- 收藏
- 关注
原创 函数返回一个类
这是代码:class A {public: int a=0; A(){}; A func() { return *this; }};int main() { A a1; a1.a = 10; A &&a2=a1.func(); a2.a = 3; std::cout << a1.a << std::endl; //输出10 std::cout <&
2021-09-27 13:12:03
643
原创 花了50大洋买回来的教训
首先这是在用pangolin时碰到的错误,大概就是这样色的:In file included from /usr/local/include/pangolin/utils/signal_slot.h:3, from /usr/local/include/pangolin/windowing/window.h:35, from /usr/local/include/pangolin/display/display.h:34,
2021-09-11 14:26:49
507
5
原创 opencv配置踩坑
首先安装好了opencv后,运行以后跳出来:The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'这样子的
2021-09-08 22:43:18
578
原创 so(3)是个三维流形
首先假设你已经知道所有旋转矩阵是一个李群,记作so(3)然后这个集合中每个元素都可以用一个a=[a1,a2,sqrt(1-a1^2-a2^2)]^T的单位向量和一个θ来表示(这里默认单位向量的第三个分量为非负的)。所以这个李群是一个三维的流形。...
2021-09-07 20:09:59
909
原创 关于“无法启动程序,拒绝访问“
这个程序没有语法上的错误,第一遍运行也没有错误,但是当ival2的输入为0时就会跳出这个框框,而且如果之后不去改程序重新编译的话,这个框框就会一直存在,如果改了程序编译以后,再改回原来这个一模一样的程序,又可以运行,知道再次输入ival2=0为止,然后之后点运行都会跳出这个框框,为什么呢?底层原理是什么?编译文件记录了这个错误?...
2021-08-28 08:36:33
378
原创 const_cast一则
const_cast只能改变运算对象的底层const,而且如果本来就是非底层常量类型,那么可以改;如果本身就是底层常量,那也改不了:int i = 5;int* p = &i;const int* p1 = p;//int* p2 = p1; //会报错:const int*类型不能初始化int*类型int* p2 = const_cast<int*>(p1); //正确const int* p3 = &i;int* p4 = const_cast<i
2021-08-27 10:55:06
101
原创 关于无符号有符号数的加减法运算
C++primer里的原话:"如果一个运算对象是无符号类型,另外一个运算对象是带符号类型,而且其中的无符号类型不小于带符号类型,那么带符号的运算对象转换成无符号的。"实验代码:int a = -5;unsigned c = 3; //这里unsigned有4个字节,感觉就相当于unsigned int了unsigned char d = 3;cout << sizeof(a)<<" "<<sizeof(c)<<endl<<a
2021-08-27 10:13:57
1195
原创 关于sizeof的一些小东西
首先是关于sizeof对于数组名和指针的使用区别:int a[5] = { 1,2,3,4,5 };int* p = a;cout<<sizeof(p)<<" "<<sizeof(a)<<endl; //输出4,20说明sizeof只有对数组名求大小时才会求出整段内存,只是地址的话不行接下来是sizeof对于容器的使用冷知识:https://blog.youkuaiyun.com/zcsylj/article/details/7857009所以用..
2021-08-27 09:55:24
116
原创 关于decltype
引用https://blog.youkuaiyun.com/y1196645376/article/details/51441503?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blo
2021-08-26 17:13:00
113
原创 多维数组,typedef,被我玩明白了一半
typedef int ii[4]; //相当于using ii=int[4];ii a= { 1,2,3,4 },*p=&a; cout<<(*p)[3]<<endl; /*这里ii a={1,2,3,4};相当于int a[4]={1,2,3,4},而由于* a其实相当于是一个指针,所以ii *p=&a相当于* int (*p)[4]了一个指向指针的指针,然后指向a的地址*/ .
2021-08-26 12:53:25
122
原创 菜鸟笔记:今天才知道string也可以有数组
如下:string a[5]={"abc","def","q","zx","ertty"};string b[5] = { "abcdefghijklmnopqrstuvwxyzzzzzzzzzzzzzz","def","q","zx","ert" };char c[5] = { 'a','b','c','d','e'};如上,经我调试发现,a[0],a[1],a[2]的地址都差了28个字节,同样,b[0],b[1],b[2]的地址也都差了28个字节,c[0],c[1],c[2]的地址差1
2021-08-25 17:08:31
796
原创 一个关于无符号类型的大坑
string str; cin >> str; int a = 3; cout << a - str.size() << endl; //如果输入"abcd",则会输出4294967295; //因为a是一个int型,而str.size()是一个无符号类型
2021-08-24 17:04:45
89
原创 绕来绕去的特性能不能少点?
typedef double miao,wu,*p; miao a = 1.0; wu b = 2.0; const p pi = &b; //pi的类型是double *const const double* pii = &b; //pii的类型是const double* cout << a << " " <<b<< " "...
2021-08-24 14:34:41
80
原创 菜鸟笔记:constexpr怎么用
constexpr表示常量,const表示只读,下面展示一下constexpr用法一例:constexpr int func(int n) { return n;}int func2() { int a[func(10)]; return 1;}int main(){ int a[func(10)]; return 0;}
2021-08-24 12:29:12
486
原创 菜鸟笔记:匿名函数
如果匿名函数里面的[]用=,即[=]的话,相当于用形参记录了x的值,然后const了,即:const int x'=x; //这里的x'表示匿名函数里的x,的感觉int main(){ int x = 5; auto f = [=]()mutable->int { x = 6; return x; }; x = 10; cout << f() << endl; //输出6 cout << x << endl; ..
2021-08-22 15:44:29
100
原创 菜鸟笔记:单例模式多线程怎么锁
自己看吧。public里的成员函数可以调用private里的成员函数。#include<iostream>#include<string>#include<queue>#include<unordered_map>#include<set>#include<thread>#include<mutex>using namespace std;mutex mu;class A {private:
2021-08-21 18:03:43
99
原创 菜鸟笔记:死锁
今天知道了死锁,可以百度一下死锁深入学习一下。https://blog.youkuaiyun.com/guaiguaihenguai/article/details/80303835?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-15.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%
2021-08-21 15:03:56
105
原创 菜鸟笔记:C++多线程unlock()两次
初学多线程时,使用unlock()两次导致程序出错。错误代码:void liout(){ for (int i = 0; i < 100000; i++) { mytex.lock(); if (!li.empty()) { //当li不为空时,会执行一次unlock(); int comp=li.front(); li.pop_front(); ...
2021-08-20 20:47:48
1724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人