自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 leetcode 124 后序遍历

class Solution {public: struct Max{ //////////路径 子--父--...--父--子,在没有最后一个子集合之前,都是未形成闭合路径 int mx;//不经过当前节点的路径最大和 // 未形成闭合路径 int mx_;//经过当前的 //未形成闭合路径 int MX; //当期能找到的最大闭合路径 Max():mx(0),mx_(0),M

2021-07-14 11:53:35 75

原创 同步阻塞IO 同步非阻塞IO 异步阻塞IO 异步非阻塞IO对比

同步阻塞IO 同步非阻塞IO 异步阻塞IO 异步非阻塞IO对比 同步是对于用户的IO操作而言,同步是说用户像操作系统请求IO操作。 EX :比如打印机,你想要打印,但当前打印机在忙,接下来你还要去隔壁超市买一堆东西的任务, 现在如果说你就在这等这打印机,等结束后打印自己打东西 这属于同步 如果你现在立刻跑去隔壁超市,买一件或者半件东西,就立刻回来看看打印机是否干完,干完你就打印自己打东西,这也属于同步。 同步就是说尽量要起操作系统忙完当前任务,执行你的任务。 阻塞是针对数据而言,

2021-07-13 09:28:05 149

原创 set unordered_set map unordered_map 存储自定义类型

set 、map底层是红黑树,需要显性提供排序规则:set 使用lambda表达式auto fn = [](Node x,Node y)->decltype(bool()) { return x.a+x.b>y.a+y.b; }; set<Node,decltype(fn)> s(fn); s.insert(Node({1,2})); ``` set 重载类型< ``` struct Node{

2021-07-01 22:46:01 247

原创 力扣11题双指针法解释

1.用i j表示两个端,初始状态i=0,j= max-1。2.min(h[i],h[j])*(j-i) (1) 是当前的盛水数量。3.假设h[i]<h[j],那么(1)式大小由长度和h[i]决定,不由h[j]决定,由于当前j-i从最大端距离开始,那么当前盛水数量是以i作为一端的所有容器中最多的一种,当前 最大盛水 相关于 最低端✖最大间距,移动右端不会改变最低端,仅仅改变最大间距,右端作为变量,是一个单调函数。因此,最大的间距开始,那么最小端的全部状态中最大的被标示出。4.移动最小端前进,问

2021-06-30 09:54:42 88

原创 C++关联式容器(底部红黑树),第二模板参数自定义

以set举例默认情况下set<int> a;1. 标准库提供 然后进行插入删除操作,默认使用less进行比较,即升序 set<int,less<int>> a;//与默认情况下等价 改为降序可以用另一个默认的函数,g什么(大于的英语)的代替less<int>2.若使用自定义的函数 2.1不使用lambda,传入自定义函数 int cmp1(int a,int b){return a>b};//降序 set<int,int(*)

2021-06-20 17:34:34 80

原创 C++ 11侯捷 模板模板使用的注意

侯捷在课程中提到,在不使用匿名模板情况下,向通过XCLs<int,vector> b;XCLs<string,list> l;XCLs<double,deque> d;这样形式去调用一个同一个模板函数或者模板类。在不使用匿名模板情况下侯捷老师通过修改调用端的方式:XCLs<vector<int>> b;XCLs<list<string>> l;XCLs<deque<double>>

2021-06-20 14:18:39 80

原创 C++ 自定义函数adaptable条件

使用bind1st/ bind2nd作为例子:在C++ 11之后,可以使用bind(),绑定:函数,仿函数,成员函数,成员变量绑定函数、仿函数,如:bind(func,first_arg,sec_arg,...)参数个数取决func参数个数,bind返回一个对象,或者可以使用占位符,在命名空间placeholders中,暂不绑定参数,在返回对象后 对象(, , , )传入占位符内的参数,顺序有关。在绑定成员函数或者变量,_1一定为对象地址,bind第一个参数为 class_name::func_nam

2021-06-19 09:03:04 63

原创 远程部署jupyter notebook,配置Linux下conda环境,并在jupyter notebook中选择该环境

1.linux下根据教程下载conda 安装并配置,创建自己的环境 create (具体自己查) :我的叫wiiin2.conda activate wiiin 进入wiiin环境3.conda install jupyter notebook4.conda install nb_conda5.conda install jupyter_contrib_nbextensions5.conda install ipykernel6.conda install jupyter7.conda

2021-06-09 20:45:48 305 4

原创 epoll边缘触发下客户端connect问题

epoll模型Linux会维护一个建立连接的队列,当服务器第二次收到syn后,会将该连接放在建立连接的队列。调用一次accpet会从该队列中取出一个连接用fd标识。边缘触发下,多个连接在epoll_wait之前完成三次握手,边缘触发仅仅产生一次,若调用一次accpet则队列内仍有连接未取出,无法完成数据传输。建议:监听套接字在epoll下使用电平触发...

2021-06-07 20:56:26 305

原创 STL不使用默认的分配器

使用其他分配器,可扩展使用自定义分配器1.找到编译器提供的文件一般在ext/分配器名字本机在include/ext/pool_allocator下2.引入该文件3.引用__gnu_cxx命名空间4.__gnu_cxx::__pool_alloc 线程池管理的分配器...

2021-06-04 16:53:08 86

原创 linux读写锁

linux 读写锁 执行顺序,若错误请指正:running | waitting | 执行顺序 r | w r | r r w w | r w | w w r代码:第一次实验:第二次实验:

2021-05-15 17:29:13 62

原创 Linux系统编程wait函数如何在C++中使用

linux中的wait在C++中使用linux中的wait函数接口是对于在C语言中而言,该函数在man中声明:pid_t wait(int*status);在man文档中,推荐下述使用方式:int status;pid_t wpid;wpid = wait(&status);if(WIFEXITED(status)) printf("%d",WEXITSTATUS(status));else if(WIFSIGNALED(status)) printf("%d",WTERM

2021-05-09 12:34:34 441

原创 C++ 运用虚指针访问虚函数表,并使用函数指针调用虚函数,可以任意访问虚函数!!!!!!撸了两天!!!!!,附代码

通过虚指针访问虚函数表并且调用虚函数表内函数实现多态。多态的实现就是通过虚函数表和继承来实现一、多态的实现现在有两个类1.父类如下class base{public: virtual void P() { cout<<"PPPPP of base"<<endl; } virtual void P1() { cout<<"PPPPPP111111 of base"<<endl

2021-05-07 16:09:12 700 1

原创 C++ inline修饰成员函数,导致无法解析函数

解决:将实现与声明放在一个文件内,可以这么说:在.h中完成实现多处个地方写出实现函数,比如在main.cpp中加入 inline xxx::xxx(…){…} //构造函数举例原因:inline是一种建议修饰,编译器若采纳,之后在相应地方进行内联展开容易出现找不到实现函数。多处定义是为了方便在本文件内使用该函数时候,编译器能够链接到相应的函数。补充:内联修饰:类内实现,默认是隐式的内联修饰类内显示声明inline ,类外实现类外显示实现可以将所有函数写成inline,由编

2021-04-29 10:44:48 269

原创 C++复合类 自定义初始化

有两个类//**类 A**class A{public: A() {} //默认构造 A(const char* str){}//自定义构造};// **类 B**class B{protected: A a;}默认情况 a会调用A的默认构造函数进行初始化,若想使用A中自定义的初始化函数,则:在B中class B{protected: A a;public: B():a("自定义字符串"){}//在B的参数列表中为A指定构造函数};此时构造B b;

2021-04-29 10:01:03 188

原创 C++模板类声明、实现分离导致的无法解析外部函数

C++模板类声明、实现分离导致的无法解析外部函数1.代码—>运行,通过预处理、编译(c++文件 >> 汇编文件 >> 二进制文件)和链接生成可执行程序。2.模板函数/类在编译时候进行处理,模板函数/类会被编译两次。第一次仅仅对模板本身进行编译;第二次发生在调用时候,就是说如果不被调用就不会发生第二次编译。3.编译的独立性,每个不同的文件会独立进行编译(头文件不参与)。4.经过编译的文件被链接后则会生成可执行程序,链接过程中主要解决下面问题:本文件中使用其他文件中的函数或

2021-04-25 12:13:27 241

原创 QT 不规则界面鼠标拖拽移动瞬移,不平滑现象

QT 不规则界面鼠标拖拽移动瞬移,不平滑现象QMouseEVent类中globalPos返回当前事件发生后鼠标相对屏幕左上角位置,作为move的传入参数会导致主界面拖动开始瞬间鼠标瞬移到左上角,应该加入鼠标点击事件发生时候的鼠标坐标位置,使用事件筛选器时候自定义变量pos记录,应在定义为全局。...

2021-04-21 17:13:29 596 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除