随笔分类 -  C/C++

摘要:C++11 标准推出了一个新的关键词auto,这个关键词可以通过表达式自动推断返回值的类型,这也是新标准中被各编译器厂商支持最为广泛的特性之一。利用这个关键词可以有效减少代码的长度,特别是在使用模板元编程的时候。举个简单的例子:vector<map<int, string>> stringMapArray; // 不使用auto版本vector<map<int, string>>::iterator iter1 = stringMapArray.begin(); // 使用auto版本auto iter2 = stringMapArray.beg 阅读全文
posted @ 2013-01-13 16:59 有来 有去 阅读(2752) 评论(9) 推荐(5) 编辑
摘要:近日在研究webkit的时候发现了一个函数template<typename T> inline void deleteOwnedPtr(T* ptr){ typedef char known[sizeof(T) ? 1 : -1]; if(sizeof(known)) delete ptr;}一开始对这个函数非常费解,为什么作者不直接delete ptr;通过上stackoverflow提问然后查阅了一些资料后终于得到结果:这是用来防范错误释放incomplete type指针而导致的未知的行为。这样做之后,释放incomplete type指针将引发一个编译错误,... 阅读全文
posted @ 2012-11-15 18:54 有来 有去 阅读(2549) 评论(0) 推荐(1) 编辑

Copyright ©2013 Jiajun. All Rights Reserved.
点击右上角即可分享
微信分享提示