摘要: std::bind bind函数看作是一个通用的函数适配器。 它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。 void fun(int x, int y, int z) { cout<< x <<" "<< y <<" "<< z <<endl; } 01 绑定参数 aut 阅读全文
posted @ 2018-12-06 23:52 osbreak 阅读(313) 评论(0) 推荐(0)
摘要: 函数指针 函数返回值类型 (* 指针变量名) (参数列表) int (*p) (int, int) 指针函数 *类型标识符 函数名 (参数表) int *p (int, int) 区分方法 1. 函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。 2.()的优先级比 阅读全文
posted @ 2018-12-06 23:17 osbreak 阅读(336) 评论(0) 推荐(0)
摘要: 1.01 QObject:父子关系与内存自动管理 深刻理解 Qt 的父子对象内存管理机制。 当一个 QObject 被设置为另一个 QObject 的子对象时(通过构造函数或 setParent()),父对象会在析构时自动删除所有子对象。 这是避免内存泄漏的关键。 使用 deleteLater() 阅读全文
posted @ 2018-12-06 00:00 osbreak 阅读(1781) 评论(0) 推荐(0)
摘要: 一、进程 1.01 subprocess subprocess:创建进程、提供更高级接口、替换os.system()等函数。直接处理管道通信、与进程双向通信。进程间信号传递。 import subprocess import subprocess cat = subprocess.Popen(['c 阅读全文
posted @ 2018-12-03 23:07 osbreak 阅读(263) 评论(0) 推荐(0)
摘要: 一、数据持久与交换 1.01 pickle cPickle比pickle更快,所以通常会尝试导入cPickle。 对象串行化:编码和解码字符串数据、处理流、重构对象问题、不可pickle的对象 try: import cPickle as pickle except: import pickle 1 阅读全文
posted @ 2018-12-03 22:39 osbreak 阅读(350) 评论(0) 推荐(0)
摘要: 一、标准库 1.01 string import string 具备string或unicode类的特性,对字符串实现参数化。 1.02 textwrap // 格式化文本段落:缩进、对齐、指定宽度等 import textwrap 1.03 re // 正则表达式 import re 1.04 d 阅读全文
posted @ 2018-12-03 22:36 osbreak 阅读(220) 评论(0) 推荐(0)
摘要: 1.01 高 DPI 缩放 在 main() 函数开头调用 // 确保应用在高分辨率屏幕上显示清晰。 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication::setAttribute(Qt::AA_UseHighD 阅读全文
posted @ 2018-11-28 23:46 osbreak 阅读(251) 评论(0) 推荐(0)
摘要: // 1. 同步定时器 #include <cstdio> #include <iostream> #include <boost/asio.hpp> #include <boost/date_time/posix_time/posix_time.hpp> int main() { boost::a 阅读全文
posted @ 2018-11-27 22:11 osbreak 阅读(463) 评论(0) 推荐(0)
摘要: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <pthread.h> #include <arpa/inet.h> #include <liburing.h> #defi 阅读全文
posted @ 2018-11-19 23:19 osbreak 阅读(487) 评论(0) 推荐(0)
摘要: # 安装 liburing 开发库 sudo apt-get install liburing-dev # 或从源码编译安装:https://github.com/axboe/liburing io_uring 是 Linux 内核提供的一套 异步 I/O 框架,它通过 共享内存环形队列(ring 阅读全文
posted @ 2018-11-19 23:10 osbreak 阅读(272) 评论(0) 推荐(0)
摘要: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/epoll.h> #include <netinet/in.h> 阅读全文
posted @ 2018-11-19 23:05 osbreak 阅读(304) 评论(0) 推荐(0)
摘要: epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 poll,是 Linux 下多路复用 IO接口 select/poll 的增强版本. 在 linux 的网络编程中,很长时间都在使用 select 来做事件触发。在 2.6 内核中,有一种替换它的机制,就是 epoll。 selec 阅读全文
posted @ 2018-11-18 21:10 osbreak 阅读(620) 评论(0) 推荐(0)
摘要: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> 阅读全文
posted @ 2018-11-18 21:09 osbreak 阅读(205) 评论(0) 推荐(0)
摘要: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> 阅读全文
posted @ 2018-11-18 21:09 osbreak 阅读(176) 评论(0) 推荐(0)
摘要: 阻塞: 阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。 函数只有在得到结果之后才会返回。 非阻塞: 非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。 /** 参 数 :int 阅读全文
posted @ 2018-11-14 23:24 osbreak 阅读(1350) 评论(0) 推荐(0)