C++
Monkeycn
这个作者很懒,什么都没留下…
展开
-
std::map lower_bound,upper_bound的用法举例
std::map是我们最常用的容器之一,然而 lower_bound, upper_bound很少使用,这里介绍一下经典用法:k1020std::map mapPrize;mapPrize[10] = 500;mapPrize[20] = 600;mapPrize[30] = 700;mapPrize.lower_bound(9)->原创 2013-10-13 11:30:29 · 7893 阅读 · 0 评论 -
使用VC助手 Visual Assist (VA)为类私有变量生成Get Set操作方法
写一个类,经常有如下动作: class {public: int getVal() { return m_nVal; } int setVal(int val) { m_nVal = val};private: int m_nVal;};虽然写Get Set相当简单,但是当变量很多的情况异常繁琐.Va已经帮我们解决了这个问题,看图:原创 2013-11-27 15:35:00 · 3933 阅读 · 0 评论 -
编写搞质量的程序一些技巧总结
(1) 用查表法替代又臭又长的switch/case, if/else,且看例子: 不推荐switch/case例子:int QCleanlooksStyle::pixelMetric(...){ int ret = -1; switch (metric) { ... case PM_SpinBoxFrameWidth: ret = 3;原创 2013-11-27 15:47:51 · 1515 阅读 · 0 评论 -
“拥抱”异常,还是,“固守”返回值?
我想,作者对于异常的性能可能有一些误会。对于 Java 或 C# 这样的语言,异常的成本无论高低,都是不可回避的,不谈了。对于 C++ 来说,未发生的异常,其成本极其微小,大体上,只是多一个地址入栈的问题。而对于已经发生的异常,这个成本确实比较高,但是,在这种时候,正确性当然压倒 所有性能要求。还有,退出作用域时析构函数必须调用,这个与抛出异常与否无关,throw 也好,return 也好,都会发转载 2013-12-21 15:16:36 · 1939 阅读 · 0 评论 -
黑苹果,蓝牙折腾经历
黑苹果安上usb蓝牙驱动原创 2015-10-11 14:09:07 · 45947 阅读 · 0 评论