[c++11新特性,所有知識點都在這了](https://mp.weixin.qq.com/s/sWEBZzm6qmW2-LEw6Rdz3Q)
[c++11實現c++14的optional](https://www.cnblogs.com/qicosmos/p/3577449.html)
[An introduction to C++'s SFINAE concept: compile-time introspection of a class member](https://jguegant.github.io/blogs/tech/sfinae-introduction.html#sfinae-introduction)
*****
### 查看類是否定義了某個成員函數
[An introduction to C++’s SFINAE concept: compile-time introspection of a class member](https://jguegant.github.io/blogs/tech/sfinae-introduction.html)
詳細介紹了從c98到c++17的做法
> #### 名詞解釋SFINAE
????SFINAE是英文Substitution failure is not an error的縮寫,意思是匹配失敗不是錯誤。這句話什么意思呢?當調用模板函數時編譯器會根據傳入參數推導最合適的模板函數,在這個推導過程中如果某一個或者某幾個模板函數推導出來是編譯無法通過的,只要有一個可以正確推導出來,那么那幾個推導得到的可能產生編譯錯誤的模板函數并不會引發編譯錯誤。這段話很繞,我們接下來用代碼說明一下
- C++基礎
- 什么是 POD 數據類型?
- 面向對象三大特性五大原則
- 低耦合高內聚
- C++類型轉換
- c++仿函數
- C++仿函數了解一下?
- C++對象內存模型
- C++11新特性
- 智能指針
- 動手實現C++的智能指針
- C++ 智能指針 shared_ptr 詳解與示例
- 現代 C++:一文讀懂智能指針
- Lamda
- c++11多線程
- std::thread
- std::async
- std::promise
- std::future
- C++11 的內存模型
- 初始化列表
- std::bind
- std::tuple
- auto自動類型推導
- 可變參數模板
- 右值引用與移動語義
- 完美轉發
- 基于范圍的for循環
- C++11之POD類型
- std::enable_if
- C++14/17
- C++20
- 協成
- 模塊
- Ranges
- Boost
- boost::circular_buffer
- 使用Boost.Asio編寫通信程序
- Boost.Asio C++ 網絡編程
- 模板
- 模板特化/偏特化
- C++模板、類模板、函數模板詳解都在這里了
- 泛化之美--C++11可變模版參數的妙用
- 模板元編程
- 這是我見過最好的模板元編程文章!