C++
search_star
个人博客seekstar.github.io
展开
-
pb_ds学习笔记
文档:Policy-Based Data Structures相关文章:pb_ds库实现支持多个相同的值的名次树建议使用using namespace __gnu_pbds;tree参考:https://www.cnblogs.com/keshuqi/p/6257895.html文档:treetree_order_statistics_node_update头文件#inclu...原创 2020-03-30 22:39:47 · 202 阅读 · 0 评论 -
C++宏定义学习笔记
本博客中提供的技巧主要用于ACM中。当代码中有2段重复代码,但是里面用到了很多局部变量,懒得写一个inline时,可以用#define func(x, y) {\ statement;\ statement;\}debug时打印变量:#if DEBUG#include <iostream>#define debug(x) {cout << #x"...原创 2019-07-14 18:39:46 · 412 阅读 · 0 评论 -
C++库函数manual
sudo apt install -y cppmancppman next_permutation原创 2020-07-05 13:03:47 · 215 阅读 · 0 评论 -
websocketpp读取二进制
直接msg->get_payload().data()就好了。std::string里可以装’\0’,用data()就可以访问。参考:https://github.com/zaphoyd/websocketpp/issues/412原创 2020-06-07 16:50:28 · 779 阅读 · 0 评论 -
cppunit for linux入门笔记
我是用apt安装的sudo apt install -y libcppunit-dev libcppunit-docmkdir -p ~/docln -s /usr/share/doc/libcppunit-doc/html/index.html ~/doc/cppunit.html安装的版本是1.13.2-2.1。然后firefox ~/doc/cppunit.html就可以在浏览器打开安装的文档了。文档里有一个Money, a step by step example,但是在我这跑不原创 2020-05-25 12:20:48 · 141 阅读 · 0 评论 -
C++生成随机数
#include <assert.h>#include <random>std::random_device rd;typedef std::mt19937 RandEngine;//RandEngine e(std::random_device()());RandEngine e(rd());//Generate long random binary res...原创 2020-05-04 21:50:19 · 176 阅读 · 0 评论 -
C++11 终止一个thread对象表示的线程
“terminate 1 thread + forcefully (target thread doesn’t cooperate) + pure C++11 = No way”.233333可以用pthread.h里的pthread_cancel来解决。code:#inclu...原创 2019-12-04 16:32:11 · 14863 阅读 · 6 评论 -
把boost::bind的返回值插入到std::unordered_map中
只能以insert的形式插入,不能以[]的形式插入。(可能是因为boost::bind的结果不是copyalbe的?)#include <iostream>#include <unordered_map>#include <boost/bind.hpp>using namespace std;struct A { void print(int ...原创 2020-05-03 12:56:26 · 230 阅读 · 0 评论 -
C++找出多个数的最大值
参考:https://codereview.stackexchange.com/questions/26100/maximum-of-three-values-in-c使用C++11。需要algorithm标准库#include <iostream>#include <algorithm>using namespace std;int main() { i...原创 2020-05-01 15:00:46 · 12716 阅读 · 1 评论 -
C++获取日期时间戳
使用C++11里的std::chrono,自定义一个叫做days的duration。#include <iostream>#include <chrono>using namespace std;namespace std {namespace chrono {typedef duration<int, ratio<3600*24, 1> ...原创 2020-04-30 12:23:41 · 859 阅读 · 0 评论 -
C++ boost SSL使用
错误fatal error: openssl/conf.h: No such file or directorysudo apt install -y libssl-dev原创 2020-04-25 00:29:25 · 2046 阅读 · 0 评论 -
C++ endian转换
linux上可以使用endian.h,但是windows没有。解决方法是使用boost,可移植性强。安装debian系列sudo apt install -y libboost-dev使用看文档:https://www.boost.org/doc/libs/1_61_0/libs/endian/doc/conversion.html示例#include <iostream&...原创 2020-04-22 11:49:29 · 1029 阅读 · 0 评论