08 2020 档案
摘要:singleStep:比如按下键盘的左右建,每次移动的距离 pageStep:比如用鼠标对准滑动条的前面按下,每次移动的距离 value:初始默认值 接下来看该控件拥有的信号: 重点看后面的四个,看字面意思就不难理解,分别为:移动,按下,释放,改变,接下来看什么情况会触发: 首先定义了四个槽函数,看
阅读全文
摘要:在以下五种情况下,编译器会生成"合成默认构造函数": 1.本身没有任何构造函数,但是含有类成员,且该类成员含有默认构造函数。 2.子类继承父类,且父类含有默认构造函数,但是子类没有任何构造函数。 3.含有虚函数,且自身没有任何构造函数。 4.含有虚基类,且自身没有任何构造函数。 5.定义成员变量的时
阅读全文
摘要:https://blog.csdn.net/qq_40286225/article/details/104089506?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_s
阅读全文
摘要:常规的new是分配内存,然后调用相应的构造函数,而定位new是在已经分配内存的上面调用构造函数: // ConsoleApplication7.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<iostream> using namespace st
阅读全文
摘要:// ConsoleApplication7.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<iostream> using namespace std; class myallocator { public: void* allocate(siz
阅读全文
摘要:下面从一个问题引入: // ConsoleApplication5.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<random> #include<iostream> #include<vector> #include<thread> #incl
阅读全文
摘要:如果有两个线程,其中一个线程想要获取另一个线程的返回值,该怎么办? 于是接下来要谈的package_task就是为了解决这个问题而诞生的。 // ConsoleApplication5.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<random>
阅读全文
摘要:// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<random> #include<iostream> #include<vector> #include<thread> #include<algorit
阅读全文
摘要:// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<random> #include<iostream> #include<vector> #include<algorithm> using namespa
阅读全文
摘要:首先我们要知道,计算机不能产生绝对的随机数。只能产生伪随机数。伪就是有规律的意思。伪随机数就是计算机产生的随机数是有规律的。 那么计算机是怎么产生随机数的? 当然是通过算法,这个算法是有映射关系的,如我放进1,他会出来一个特定的数 RAND_SEED=(RAND_SEED*123+59)%65536
阅读全文
摘要:// ConsoleApplication6.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<thread> #include<iostream> #include<list> #include<mutex> using namespace std
阅读全文
摘要:首先来看单例模式的实现: 所谓单例,就是对象的创建只能一次,也就是不能通过构造函数直接创建对象,要通过其他手段,下面请看代码: // ConsoleApplication6.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include<thread> #incl
阅读全文
摘要:举个例子,如果有一份资源,假如为list<int>资源,假设有两个线程要对该资源进行压入弹出操作,如果不进行锁的话,那么如果两个线程同时操作,那么必然乱套,得到的结果肯定不是我们想要的结果。于是引入了锁的机制,当一个线程进行相应操作之前加一把锁,访问结束后再释放锁,那么问题便可得到解决,但是会存在一
阅读全文
摘要:首先拿个一个硬盘,不能直接使用,要进行分区,比如下面的一块内存: 如果要进行分区,那么怎么分区,所以要有一个内存,用来保存怎么分区的信息,该块内存的名字叫启动块(BootBlock),他的大小是固定的,为1KB. 如下图示例: 分区结束后,还不能够直接使用,还要进行格式化,再格式化之前,要对读写的最
阅读全文
摘要:1、listen()队列剖析 作用:监听端口,TCP连接中的服务器端角色 调用格式:int listen(int sockfd, int backlog); 第一个参数:创建的sockfd, 好好理解第二个参数:未决连接,监听套接字队列。最开始是:已完成和未完成之和最大值。现在是:制定给定套接字上内
阅读全文
摘要:https://zhuanlan.zhihu.com/p/22834126
阅读全文
摘要:fcntl是计算机中的一种函数,通过fcntl可以改变已打开的文件性质。fcntl针对描述符提供控制。参数fd是被参数cmd操作的描述符。针对cmd的值,fcntl能够接受第三个参数int arg。 fcntl的返回值与命令有关。如果出错,所有命令都返回-1,如果成功则返回某个其他值。 定义函数 i
阅读全文
摘要:转:https://www.cnblogs.com/MrListening/p/5821296.html 权限掩码umask 我们都知道在linux下创建一个文件或者目录之后是可以通过chmod等命令进行权限设置,来达到给当前用户、用户组用户以及其他用户分配不同的访问权限。那么,我们新创建的目录和文
阅读全文
摘要:由于服务端和和客户端有的代码是共用的,为了提高编译速度,所以用一个文件socketdll保存共享文件,生成动态链接库,以便调用。 socketdll文件含有: XTcp.h: #ifndef __XTCP__H__ #define __XTCP__H__ #ifdef WIN32 #ifdef SO
阅读全文