C/C++
文章平均质量分 58
Uranux
这个作者很懒,什么都没留下…
展开
-
Trie引发的血案——再论参数
看到标题,或许聪明的你会说,参数不就那么回事吗?还要“再论”? 在决定写这篇文章之前,我也是这么认为的,自认为对C/C++的参数传递以及压栈方式了如指掌。 但是总有一些细节,在我们不注意的瞬间,给我们一个深刻的教训。 以前自己写Trie,用的是静态内存,不够灵活,虽然ACM/ICPC或其他算法竞赛都会给出严格的数据范围,避免越界。但是在实际项目中,没有人会知道,没有人能够预测自己原创 2013-03-07 19:50:23 · 794 阅读 · 0 评论 -
C++隐式类型转换操作符
前几天看MFC时碰到了一个让我困惑不已的问题: CDC::Rectangle的某一个原型如下: BOOL Rectangle(LPCRECT lpRect); 其中LPCRECT是const RECT* 但是诸如如下所示的调用也能通过编译: myDC.Rectangle(CRect(p1, p2)); 其中CRect是RECT的原创 2013-11-26 22:47:45 · 855 阅读 · 0 评论 -
利用reverse_iterator删除string末尾元素
先看代码: #include #include using namespace std; int main() { string str = "Uranux~"; string::reverse_iterator strRIter = str.rbegin(); // 指向最后一个元素 string::iterator retIter = str.erase(--strRIter.原创 2013-12-31 21:53:05 · 1266 阅读 · 0 评论 -
[VC++深入详解] 1. Windows程序内部运行机制
本系列(VC++深入详解)为《VC++深入详解》(孙鑫 编著)读书笔记,很多例子都是仿照此书,很多概念也是来自此书,在对其做归纳总结的同时,也加入了自己的一些理解。 一、 最简单的Windows程序框架概览 #include #include LRESULT CALLBACK WndProc( _In_ HWND hwnd, _In_ UINT uMsg, _In原创 2013-11-18 22:08:01 · 3793 阅读 · 1 评论