C++:aotu和decltype返回类型后置

为什么要有后置类型? 是为了解决函数返回值类型依赖于参数而导致难以确定返回值类型的问题。 #include<iostream> using namespace std; template <typename T, typename U> auto add(T t,U u) -> decltype(t+u) { return t+u; } int main(

继续阅读 »

C++:switch/case字符串匹配

将字符串hash成数字,利用constexpr在编译器生成,如果hash冲突会在编译时报错! #include<iostream> typedef std::uint64_t hash_t; constexpr hash_t prime = 0x100000001B3ull; constexpr hash_t basis = 0xCBF29CE484222325ull; h

继续阅读 »

C/C++:哈夫曼树构建

参考地址:https://blog.csdn.net/yaoowei2012/article/details/18180769 #include <iostream> using namespace std; struct tree { int data; struct tree *left; struct tree *right; }; struct tree *cre

继续阅读 »

C++:岛屿个数问题

采用DFS方式,对二维数据进行遍历,遇到1则找到一个岛屿,然后把与之关联的位置全部置为2,那么对二维数组完成一次遍历,即可得出结果 /************************************************************************* > File Name: 11.cpp > Author: ryan_naiquan >

继续阅读 »

句子逆序

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 #include <iostream> #include <cstring> #include <algorithm> using namespace std; void RevStr(c

继续阅读 »

Docker:常用命令

# run一个ubuntu镜像 sudo docker run -ti highway:v1.0 bash # 退出ubuntu镜像命令行,而不将镜像停止 Ctrl + p,Ctrl + q # 退出后再进ubuntu镜像命令行 sudo docker attach b31ad42b2396 注:sudo docker ps 查看正在运行的容器id # 停止运行容器 sudo docker

继续阅读 »

Linux:libuv的uv_async使用

vu_async_t是我们要用的handle,这个handle用来在线程间通信的。handl->data可以存放数据。 配合uv_async_send,可以唤醒持有async的消息队列,并调用async的回调,而且这个是跨线程的,只保证uv_async_send调用一次之后,callback也必然至少调用一次, 但是因为是很多线程可以同时发送唤醒消息,所以,也可能被多次调用。 下载文件实时

继续阅读 »