C++ shared_ptr deleter的实现
摘要:#include #include using namespace std;#includeclass sp_base{public: virtual void del(void* obj) = 0; void inc_ref(){ ref_count_++; } ...
阅读全文
条件变量
摘要:关于条件变量最核心的函数是pthread_cond_wait这个函数不太容易理解的地方在于,它会在使进程陷入休眠之前解锁互斥量,而又在进入休眠之后重新锁定互斥量,相当于在函数内部是这样的:unlock()sleeplock();所以这个函数调用的时候也很奇怪,先是要锁定住互斥量,然后陷入等待,函数返...
阅读全文
ubuntu 输入时弹出剪切板候选项
摘要:fcitx很坑的把这个功能的快捷键设置成了ctrl + ;结果我在用vim的时候怎么也没法输入command不知道是哪次更新引入的,简直是坑人!我找了半天系统设置都没找到这个快捷键是在哪设置的.设置方法,打开fcit configuration然后在add on 里面有一项 clipboard就能设...
阅读全文
leetcode Bitwise AND of Numbers Range
摘要:Given a range [m, n] where 0 m) n &= n - 1; return n; }
阅读全文
C/C++ 字符串 null terminal
摘要:在C/C++中,字符串以'\0'结尾是一种强制要求,或者说,只有满足这个要求的字符数组才能被称为字符串。否则,你所做的所有操作结果都是未定义的!C标准库string.h中所有关于字符串的函数都有一个特性,对于输入字符串,默认为是以'\0'结尾的,否则就会出现未定义行为,比如strlen,实现就依赖了...
阅读全文
C++ inline weak symbol and so on
摘要:关于inline这个关键字,听到强调得最多的是,它只是一种对于编译器的建议,而非强制执行的限定。但事实上,即使这个优化最终由于函数太过复杂的原因没有达成,加上inline关键字(还有在类定义中直接定义的函数也相当于加上了inline关键字)还是会带来一些区别的。参看C++11标准文档里面的描述:A ...
阅读全文
ISO c++11 does not allow conversion from string literal to 'char*'
摘要:http://stackoverflow.com/questions/9650058/deprecated-conversion-from-string-literal-to-char
阅读全文