C++是否该使用vector作为返回值

一直对函数中是否应该直接返回vector有疑惑,今日总算动手测试了一番。大体是设计一个对象,其内存有一个数组,改变这个数组的存储方式,测试其赋值构造函数+循环取数的性能。其中,顺便测试了一下C++11移动语义的效率。大致分了一下情景(代码间后):

  • A:使用vector<int>保存内部数据,深拷贝,不使用reserve预先调整vector空间
  • A1:使用vector<

[……]  阅读全文>>>

很杯具的一天,又被马蜂蛰了

中午,见一只马蜂飞进来,落在纱窗上。不想杀生,便将窗户关上,让其在纱窗和窗户之间活动,之后便去睡觉。一觉起来,特意看了一眼,发现马蜂已经不见了,还有点纳闷。准备穿衣,赶着上班,拿起牛仔裤就套,悲剧就在此时发生。这只可恶的马蜂不知什么时候躲在了裤筒里(我的衣架就在窗边),膝关节后被它狠狠蜇了,都不知是一下还是好几下,真是疼 🙁  下午只好一路跛着去上班,还要爬七楼…… 当然,它也被我判了死刑! 这会一摸,肿了大半个巴掌,也不知还得难受几天……[……]  阅读全文>>>

令人惊喜的Clang

经常看到介绍Clang好的文章,却一直没用过。这回趁着重装Ubuntu,试用了下Clang,还真是让人惊喜。虽然不少文章说,Clang和GCC相比,更多的是编译速度快和LLVM 的好处(IDE可以获取类型信息),而性能上并没有太大优势。不过,我的试验却还是显示了巨大的性能差异,当然编译速度快是没得说。我这一直有段程序因为计算量大,每次运行时间大概要12.5秒,改用Clang编译后运行时间却只要7.[……]  阅读全文>>>

莫用unetbootin制作Ubuntu13.10安装U盘

ubuntu13.10_001

我的Ubuntu不知是从哪一个版本不停的升级,升到13.04后系统进入桌面缓慢无比,还经常性的弹出错误报告,快要无法忍受。等着UbuntuKylin13.10发布,好彻底格式化重装。在win7下下载了光盘,便直接用unetbootin制作了Ubuntu的安装U盘,然后哗啦啦的格式化(以前都是直接用Ubuntu制作)。结果犯下大错,安装后发现,网卡无驱动、鼠标/触摸板不可用、屏幕显示分辨率只[……]  阅读全文>>>