文章分类 -  C++

摘要:看来对C++的异常机制相当多人是持有怀疑态度的,不过咱们也不要看了他们的观点就乱了心神,而是要怀着中立的眼光去接触正反两面的辩论。大家可以参考《C++语言的设计与演化》中的异常机制一章,看看C++之父的思想。总之仁者见仁吧。///////////////////////////////////////////////////////////////我是分割线/////////////////////////////////////////////////////////////////////EXCEPTION HANDLING:A FALSE SENSE OF SECURITYby Tom 阅读全文
posted @ 2013-05-25 22:14 mavaL 阅读(228) 评论(0) 推荐(0)
摘要:想不时髦都不行......项目里用了好多这玩意,于是我也开始学了...关于lambda表达式在函数型语言(FP)中大行其道的lambda表达式被引入以“多范式”(multi-paradigm)为标签的C++语言应该是一件顺理成章的事。lambda表达式的引入对于改善C++语言中以STL算法为代表的FP编程范式可谓是大有裨益,事实上它也由此成为C++0x中最受欢迎的新特性之一。在新标准中,lambda表达式将被编译器翻译成C++程序员早已熟悉的函数对象(function object),并替代后者行使“STL算法的参数”这一功能。完整见下面的精彩文章:http://blog.csdn.net/z 阅读全文
posted @ 2012-05-23 23:27 mavaL 阅读(164) 评论(0) 推荐(0)
摘要:项目的代码中看见了很多std::move(),不知道有什么用,查了查,大有来头,难道C++的临时对象效率问题就这样解决了???尼玛,我感觉这应该是非常轰动的大事呀..........std::move是一个用于提示优化的函数,过去的c++98中,由于无法将作为右值的临时变量从左值当中区别出来,所以程序运行时有大量临时变量白白的创建后又立刻销毁,其中又尤其是返回字符串std::string的函数存在最大的浪费。比如:1 std::string fileContent = “oldContent”;2 s = readFileContent(fileName);因为并不是所有情况下,C++编译器都 阅读全文
posted @ 2012-05-23 23:02 mavaL 阅读(560) 评论(0) 推荐(0)
摘要:C++11新标准支持lambda表达式后,异常安全的RAII解法就可以简洁高效了,见下面链接文章中的介绍(太好了,这样以后在我自己的代码中也能轻松支持上异常安全啦~) http://blog.csdn.net/pongba/article/details/7911997 而在之前的C++98中,... 阅读全文
posted @ 2012-05-23 21:56 mavaL 阅读(4173) 评论(1) 推荐(2)
摘要:作者:天涯 来源:中国自学编程网 这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。 boost::function和boost::bind已经纳入了std::tr1,这或许是C... 阅读全文
posted @ 2012-02-23 09:24 mavaL 阅读(255) 评论(0) 推荐(0)
摘要:当你面对需要用多段代码来处理一个事件的情况时,典型的解决方案有:用函数指针进行回调,或者直接对产生事件的子系统与处理事件的子系统之间的依赖性进行编码。这种设计常常会导致循环的依赖性。通过使用 Boost.Signals, 你将获得灵活性和解耦。要开始使用这个库,首先要包含头文件 "boost/sig... 阅读全文
posted @ 2012-02-22 14:09 mavaL 阅读(1137) 评论(0) 推荐(0)