原文:C++11在时空性能方面的改进

C 在时空性能方面的改进 这篇我们聊聊C 在时间和空间上的改进点 主要包括以下方面: 新增的高效容器:array forward list以及unordered containers 以及常量表达式 静态断言和move语义 大小固定容器 array std::array是一个支持随机访问且大小 size 固定的容器,它是c 中新增的容器。它有如下特点: 不预留多余空间,只分配必须空间 译注:siz ...

2015-09-07 10:56 2 4949 推荐指数:

查看详情

(原创)c++11改进我们的模式之改进单例模式

我会写关于c++11的一个系列的文章,会讲到如何使用c++11改进我们的程序,本次讲如何改进我们的模式,会讲到如何改进单例模式、观察者模式、访问者模式、工厂模式、命令模式等模式。通过c++11改进,我们的模式变得更通用、更简洁、更强大。本次讲如何改进单例模式。 在c++11之前,我们写单例模式 ...

Thu Jun 20 05:29:00 CST 2013 3 15773
(原创)c++11改进我们的模式之改进命令模式

  模式虽然精妙,却难完美,比如观察者模式中观察者生命周期的问题;比如访问者模式中循环依赖的问题等等;其它很多模式也存在这样那样的一些不足之处,如使用场景受限、实现复杂、不够简洁、不够通用等。但我觉得不足之处大都是可以采取一些手法去弥补去改进的,比如用c++11的新特性来改进。因此,便有 ...

Mon Oct 21 15:43:00 CST 2013 2 2880
(原创)C++11改进我们的程序之右值引用

本次主要讲c++11中的右值引用,后面还会讲到右值引用如何结合std::move优化我们的程序。 c++11增加了一个新的类型,称作右值引用(R-value reference),标记为T &&,说到右值引用类型之前先要了解什么是左值和右值。左值具名,对应指定内存域,可访问;右值 ...

Tue Oct 15 19:45:00 CST 2013 2 7410
(原创)C++11改进我们的程序之move和完美转发

  本次要讲的是右值引用相关的几个函数:std::move, std::forward和成员的emplace_back,通过这些函数我们可以避免不必要的拷贝,提高程序性能。move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝。如图所示是深拷贝和move ...

Sat Oct 19 00:06:00 CST 2013 3 8839
(原创)C++11改进我们的程序之简化我们的程序(五)

这次要讲的是:c++11中的bind和function std::function 它是函数、函数对象、函数指针、和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针。以统一的方式处理函数、函数对象、函数指针、和成员函数。允许保存和延迟执行函数。 函数 ...

Thu Sep 05 05:44:00 CST 2013 2 9005
(原创)C++11改进我们的程序之简化我们的程序(七)

这次要讲的内容是:c++11中的tuple(元组)。tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多细节,要揭开它神秘的面纱时又比较困难。   tuple是一个固定大小的不同类型值的集合,是泛化 ...

Fri Sep 13 06:30:00 CST 2013 7 18676
(原创)c++11改进我们的程序之垃圾回收

  c#和java中有自动垃圾回收机制,.net运行时和java虚拟机可以管理分配的堆内存,在对象失去引用时自动回收,因此在c#和jva中, 内存管理不是大问题。c++语言没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会内存泄露。  我相信大部分c++开发人员都遇到过内存泄露的问题,而查找 ...

Mon Aug 26 23:50:00 CST 2013 6 6888
(原创)C++11改进我们的程序之简化我们的程序(一)

C++11在很多方面可以简化我们的程序开发,我会在“简化我们的程序”这一系列的博文中一一讲到,敬请关注。这次要讲的是:C++11如何通过获取函数模板的返回值类型来简化我们的程序。在谈到简化之前,我们先看一个问题,这个问题也是我前段时间在开发C++版本的linq时遇到的。假设我们现在需要将集合按某种 ...

Wed Aug 28 05:46:00 CST 2013 15 4339
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM