在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ A.7 自動推導變量類型
3.4 本章總結
6.3 基于鎖設計更加復雜的數(shù)據(jù)結構
6.1 為并發(fā)設計的意義何在?
5.2 <code>C++</code>中的原子操作和原子類型
A.7 自動推導變量類型
2.1 線程管理的基礎
8.5 在實踐中設計并發(fā)代碼
2.4 運行時決定線程數(shù)量
2.2 向線程函數(shù)傳遞參數(shù)
第4章 同步并發(fā)操作
2.3 轉移線程所有權
8.3 為多線程性能設計數(shù)據(jù)結構
6.4 本章總結
7.3 對于設計無鎖數(shù)據(jù)結構的指導建議
關于這本書
A.1 右值引用
2.6 本章總結
D.2 &lt;condition_variable&gt;頭文件
A.6 變參模板
6.2 基于鎖的并發(fā)數(shù)據(jù)結構
4.5 本章總結
A.9 本章總結
前言
第10章 多線程程序的測試和調(diào)試
5.4 本章總結
第9章 高級線程管理
5.1 內(nèi)存模型基礎
2.5 識別線程
第1章 你好,C++的并發(fā)世界!
1.2 為什么使用并發(fā)?
A.5 Lambda函數(shù)
第2章 線程管理
4.3 限定等待時間
D.3 &lt;atomic&gt;頭文件
10.2 定位并發(fā)錯誤的技術
附錄B 并發(fā)庫的簡單比較
5.3 同步操作和強制排序
A.8 線程本地變量
第8章 并發(fā)代碼設計
3.3 保護共享數(shù)據(jù)的替代設施
附錄D C++線程庫參考
第7章 無鎖并發(fā)數(shù)據(jù)結構設計
D.7 &lt;thread&gt;頭文件
D.1 &lt;chrono&gt;頭文件
4.1 等待一個事件或其他條件
A.3 默認函數(shù)
附錄A 對<code>C++</code>11語言特性的簡要介紹
第6章 基于鎖的并發(fā)數(shù)據(jù)結構設計
封面圖片介紹
7.2 無鎖數(shù)據(jù)結構的例子
8.6 本章總結
8.1 線程間劃分工作的技術
4.2 使用期望等待一次性事件
8.4 設計并發(fā)代碼的注意事項
D.5 &lt;mutex&gt;頭文件
3.1 共享數(shù)據(jù)帶來的問題
資源
9.3 本章總結
10.3 本章總結
10.1 與并發(fā)相關的錯誤類型
D.4 &lt;future&gt;頭文件
3.2 使用互斥量保護共享數(shù)據(jù)
9.1 線程池
1.1 何謂并發(fā)
9.2 中斷線程
4.4 使用同步操作簡化代碼
A.2 刪除函數(shù)
1.3 C++中的并發(fā)和多線程
1.4 開始入門
第5章 C++內(nèi)存模型和原子類型操作
消息傳遞框架與完整的ATM示例
8.2 影響并發(fā)代碼性能的因素
7.1 定義和意義
D.6 &lt;ratio&gt;頭文件
A.4 常量表達式函數(shù)
7.4 本章總結
1.5 本章總結
第3章 線程間共享數(shù)據(jù)

A.7 自動推導變量類型

C++是靜態(tài)語言:所有變量的類型,都會在編譯時被準確指定。所以,作為程序員你需要為每個變量指定對應的類型。

有些時候就需要使用一些繁瑣類型定義,比如:

std::map<std::string,std::unique_ptr<some_data>> m;
std::map<std::string,std::unique_ptr<some_data>>::iterator
      iter=m.find("my key");

常規(guī)的解決辦法是使用typedef來縮短類型名的長度。這種方式在C++11中仍然可行,不過這里要介紹一種新的解決辦法:如果一個變量需要通過一個已初始化的變量類型來為其做聲明,那么就可以直接使用auto關鍵字。這樣,編譯器就會通過已初始化的變量,去自動推斷變量的類型。

auto iter=m.find("my key");

當然,auto還有很多種用法:可以使用它來聲明const、指針或引用變量。這里使用auto對相關類型進行了聲明:

auto i=42; // int
auto& j=i; // int&
auto const k=i; // int const
auto* const p=&i; // int * const

變量類型的推導規(guī)則是建立一些語言規(guī)則基礎上:函數(shù)模板參數(shù)。其聲明形式如下:

some-type-expression-involving-auto var=some-expression;

var變量的類型與聲明函數(shù)模板的參數(shù)的類型相同。要想替換auto,需要使用完整的類型參數(shù):

template<typename T>
void f(type-expression var);
f(some-expression);

在使用auto的時候,數(shù)組類型將衰變?yōu)橹羔?,引用將會被刪除(除非將類型進行顯式為引用),比如:

int some_array[45];
auto p=some_array; // int*
int& r=*p;
auto x=r; // int
auto& y=r; // int&

這樣能大大簡化變量的聲明過程,特別是在類型標識符特別長,或不清楚具體類型的時候(例如,調(diào)用函數(shù)模板,等到的目標值類型就是不確定的)。