原文: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