C++11新版本“for的使用“和“auto“
官方給出的回答是,如下:
C++11將auto用於實現自動型別判斷。這要求進行顯示初始化,讓編譯器能夠將變數的 型別設定為初始值的型別。
auto maton = 112 ; // maton is type int
auto pt = &maton ; // pt id type int *
double fm ( double , int ) ;
auto pf = fm ; // pf is type double () (double , int )
關鍵字auto還可簡化模板宣告。
例:
如果 il 是一個std::initializer_list物件,則可將下述程式碼:
for ( std :: initializer_list < double > :: iterator p = il.begin() ; p != il.end() ; p++ )
替換為如下程式碼:
for ( auto p = il.begin() ; p != il.end() ; p ++ )
auto maton = 112 ; // maton is type int
auto pt = &maton ; // pt id type int *
double fm ( double , int ) ;
auto pf = fm ; // pf is type double () (double , int )
例:
如果 il 是一個std::initializer_list物件,則可將下述程式碼:
for ( std :: initializer_list < double > :: iterator p = il.begin() ; p != il.end() ; p++ )
替換為如下程式碼:
for ( auto p = il.begin() ; p != il.end() ; p ++ )
個人理解如下:
double prices [ 5 ] = { 4.99 , 10.99 , 6.87 , 7.99 , 8.49 } ;
for ( double x : prices )
std :: cout << x << std :: endl ;
在迴圈間隔為1的條件下,遍歷陣列或檔案,下面例子可以解釋上面左右的內容
for ( auto p = prices .begin() ; p != prices .end() ; p ++ )。
相關文章
- C++11 新特性——auto 的使用C++
- c++11 auto 與 decltype 詳解C++
- 第3章_auto佔位符(C++11~C++17)C++
- mysql的auto_increment_offset和auto_increment_increment配置MySqlREM
- auto_ptr_ref和auto_ptr的關係 (轉)
- 9 個使用C++11的理由C++
- C++ 陣列的 auto 和 decltypeC++陣列
- C++11中unique_ptr的使用C++
- overflow-x:auto的使用場景
- 通過Auto Layout和Size Classes深入瞭解UIStackView的好處和使用UIView
- 關於 MYSQL auto_increment_offset和auto_increment_incrementMySqlREM
- 【C/C++】C和C++11之enum列舉的使用細節C++
- 深入解析decltype和decltype(auto)
- 淺析c++11中的“=default“和“=delete“C++delete
- C++11 中的 Defaulted 和 Deleted 函式C++delete函式
- Mybatis逆向工程和新版本MybatisPlus3.4逆向工程的使用MyBatisS3
- 關於MySQL主主配置的auto_increment_offset和auto_increment_increment引數的解釋MySqlREM
- 絕對定位使用margin:0 auto居中
- C++11 執行緒同步介面std::condition_variable和std::future的簡單使用C++執行緒
- C++/C++11中std numeric limits的使用C++MIT
- c++11之左值引用和右值引用C++
- C中的auto、static、register、extern、const和volitate
- 使用C++11實現完美資源管理C++
- 在Code::Blocks中使用C++11標準BloCC++
- Android Auto-Building Apps for Auto,Getting Started with AutoAndroidUIAPP
- 正確使用auto_ptr智慧指標指標
- MySQL的AUTO_INCREMENTMySqlREM
- C++11 中的執行緒、鎖和條件變數C++執行緒變數
- C++開發者都應該使用的10個C++11特性C++
- OpenYurt v1.1.0: 新增 DaemonSet 的 OTA 和 Auto 升級策略
- text-align:center和margin:0 auto居中的區別
- width:auto和width:100%區別
- C++11中的函式C++函式
- 使用mica-auto生成Spring boot starter配置Spring Boot
- 【C++11】c++11實現執行緒池C++執行緒
- for (auto it = _list.begin(); it != _list.end(); )關於在for迴圈中使用std::vector中的begin和end
- C++11 tupleC++
- SIZE AUTO和SIZE SKEWONLY在gather_table_stats時的區別