36 进制

看到同事桌上有一份面试题,有一个 36 进制运算的题目,手贱敲了一下,不调真的不好做啊 #include <stdio.h> #include <string> #include <algorithm> #include <math.h> int convert_36_10(std::string strNum) { std::reverse(strNum.begin(), strNum.end()); int n = 0; for (……

阅读全文

netty 初窥

先说结论,总体感觉很好,比 cpp 上的 nio 框架好。 缘起是一个同学来问 java web 的问题,帮他调了一下,两年没怎么碰过 java web 的东西了,各种生疏,而且在调试的过程中,也再次感觉到 java 这个东西实在不适合做 web,一个是重,ssh 框架一上来就给人压得喘不过气的感觉,新增一个功能,要 spring struts 里面 xml ……

阅读全文

boost optional 以及 operator bool

boost 库有一个组件,叫做 optional,用来保存一些可有可无的成员变量,说明见这里,http://www.boost.org/doc/libs/…,样例用法如下 #include <boost/optional.hpp> #include <stdio.h> #include <string> int main() { boost::optional<std::string> name; if (name) ……

阅读全文

动态链接库中的全局变量

想给自己之前的日志库,加一个染色的功能 gcc 有一个自己的特性,叫 __thread,介绍可以看这里,https://gcc.gnu.org/onlinedocs…,是可以用来修饰一个全局变量,从而让这个全局变量在每个线程都有一份拷贝,例子如下: #include <stdio.h> #include <unistd.h> #include <pthread.h> #inc……

阅读全文

(void)var 是在干嘛

最近在看 muduo 的代码,看到类似这样的写法: size_t n = activeTimers_.erase(timer); assert(n == 1); (void)n; 而且不止一处,于是就很好奇,这种 (void)var 是在干嘛,查了一下,这里说道,http://stackoverflow.com/quest… It works around some compiler warnings. Some compilers will warn if you ……

阅读全文

17mon IP 解析代码 C++ 版

高春辉做了一个功德无量的事情,整理了一份高质量的 IP 库,http://tool.17mon.cn/ipdb.html,官方给出了 php 版本的解析函数,但是没有 c++ 的,倒是有人写了一个 php c 扩展,https://github.com/shukean/mon…,不过太长了。。 于是自己写了个 c++ 的 #include <stdio.h> #include <stdlib.h> #……

阅读全文