c++11新特性-3-自動類型推導

文章目錄

  • 自動類型推導
    • 1.auto
      • 1.1 const修飾
      • 1.2 auto不能使用的場景
      • 1.3 auto應用場景
    • 2.decltype
      • 1.1 基本語法

自動類型推導

1.auto

注意,auto必須進行初始化

auto i = 10; //int類型auto k = 3.14; //double類型auto db; //錯誤

1.1 const修飾

當const修改指針或者引用時,才會保存下const,否則就會丟棄。

int temp =10;
// a1 : const int
const auto a1 = temp; //a2: int
auto a2 = a1;//a3: const int
auto& a3 = a1; 

1.2 auto不能使用的場景

  1. auto作為函數的參數類型
void show(auto a,auto b)
{.....
}
  1. 作為類的非靜態成員變量的初始化
class Test
{auto v = 0; //錯誤static auto c = 10//錯誤
}
  1. 定義數組
int arry[] = {1,2,3,45};auto arry1 = arry; //正確 arry1 : int*auto arry2[] = arry; //錯誤auto arry3[] = {1,2,3,45}; //錯誤
  1. 使用auto推導模板參數

Person<string,int> p;Person<auto,auto>p1 = p; // 錯誤

1.3 auto應用場景

  1. STL容器遍歷
vector<int> v1;for(auto i = v1.begin(); i != vi.end(); i++)
{cout << *i << endl;
}
  1. 泛型編程
class T1
{public:int get(){return 10;}
};class T2
{public:string get(){return "hello";}
};template<typename T>
void print()
{auto ret = T::get();cout << ret << endl;
}int main()
{print<T1>();print<T2>();
}

2.decltype

1.1 基本語法

int a = 4;
decltype(a) b ; // b: int
decltype(a+3.14) c; //c : double

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41498.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++:構造函數是什么東西

一、構造函數是什么 在C中&#xff0c;構造函數是一種特殊成員函數&#xff0c;它有一下幾個明顯的特征&#xff1a; 1、它自動在創建新對象時被調用。 2、其名稱與類名相同&#xff0c; 3、沒有返回類型&#xff0c; 4、通常沒有參數&#xff08;除了默認情況下的隱式thi…

跟《經濟學人》學英文:2024年06月01日這期 The side-effects of the TikTok tussle

The side-effects of the TikTok tussle tussle&#xff1a;美 [?t?s?l] 激烈扭打&#xff1b;爭奪 注意發音 side-effects&#xff1a;副作用&#xff1b;&#xff08;side-effect的復數&#xff09; As the app’s future hangs in the balance, the ramifications of …

MySQL的并發控制、事務、日志

目錄 一.并發控制 1.鎖機制 2.加鎖與釋放鎖 二.事務&#xff08;transactions&#xff09; 1.事物的概念 2.ACID特性 3.事務隔離級別 三.日志 1.事務日志 2.錯誤日志 3.通用日志 4.慢查詢日志 5.二進制日志 備份 一.并發控制 在 MySQL 中&#xff0c;并發控制是確…

都有哪些離線翻譯器軟件?沒網就用這4個

經歷完痛苦的期末考&#xff0c;可算是千盼萬盼等來了日思夜想的暑假&#xff01;趁著這大好時光&#xff0c;怎么能不來一場出國游呢~ 不知道有多少小伙伴和我一樣&#xff0c;出國玩最怕的就是語言不通&#xff0c;不管是吃飯還是游玩體驗感都會大受影響~好在多出國玩了幾趟…

ES6模塊化學習

1. 回顧&#xff1a;node.js 中如何實現模塊化 node.js 遵循了 CommonJS 的模塊化規范。其中&#xff1a; 導入其它模塊使用 require() 方法 模塊對外共享成員使用 module.exports 對象 模塊化的好處&#xff1a; 大家都遵守同樣的模塊化規范寫代碼&#xff…

Linux 時區文件格式【man 5 tzfile】

時區文件格式標準&#xff1a;https://datatracker.ietf.org/doc/html/rfc8536 1. NAME&#xff08;名&#xff09; tzfile - 時區文件。&#xff08;非文本文件&#xff09; 2. DESCRIPTION&#xff08;描述&#xff09; 本頁介紹被 tzset(3) 函數使用的時區文件的結構。這…

006 線程安全

文章目錄 臨界資源線程安全基本概念*何謂競態條件**何謂線程安全* 對象的安全局部基本類型變量局部的對象引用對象成員(成員變量) 不可變性 臨界資源 臨界資源是一次僅允許一個進程使用的共享資源。各進程采取互斥的方式&#xff0c;實現共享的資源稱作臨界資源。屬于臨界資源…

如何使用GPT進行科研:詳細指令指南

如何使用GPT進行科研&#xff1a;詳細指令指南 隨著GPT模型的流行&#xff0c;越來越多的科研人員開始利用這項技術來輔助科學研究&#xff0c;特別是在文本處理任務如論文翻譯、文本潤色和降低抄襲率方面。本文將提供詳細的指令&#xff0c;幫助科研人員有效地使用GPT進行科研…

計算機相關專業入門,高考假期預習指南

一&#xff1a;學習資源推薦 跟著b站的“黑馬程序員”學c&#xff0c;黑馬程序員匠心之作|C教程從0到1入門編程,學習編程不再難_嗶哩嗶哩_bilibili&#xff0c;把這個編程語言基礎打好&#xff0c;然后看“藍橋杯算法”&#xff0c;到了大一直接就能打藍橋杯比賽了 看完上面的 …

TRILL簡介

介紹TRILL的定義及目的。 定義 TRILL(Transparent Interconnection of Lots of Links)是一種把三層鏈路狀態路由技術應用于二層網絡的協議。TRILL通過擴展IS-IS路由協議實現二層路由&#xff0c;可以很好地滿足數據中心大二層組網需求&#xff0c;為數據中心業務提供解決方案…

用數組手搓一個小頂堆

堆默認從數組下標為1開始存儲。 const int N201000; int heap[N]; int len; 插入操作&#xff1a; 將元素插入到堆的末尾位置向上調整。 void up(int k){while(k>1&&heap[k/2]>heap[k]){swap(heap[k],heap[k/2]);k/2;} } //len為當前存在元素長度 void Inser…

水利水庫大壩結構安全自動化監測主要測哪些內容?

在大壩安全自動化監測系統建設中&#xff0c;應根據壩型、壩體結構和地質條件等因素選定監測項目&#xff1b;主要監測對象包括壩體、壩基及有關的各種主要水工建筑物、大壩附近的不穩定岸坡和大壩周邊的氣象環境。深圳安銳科技建議參考下列表格適當調整。 &#xff08;一&am…

計算機網絡(2

計算機網絡續 一. 網絡編程 網絡編程, 指網絡上的主機, 通過不同的進程, 以編程的方式實現網絡通信(或網絡數據傳輸). 即便是同一個主機, 只要不同進程, 基于網絡來傳輸數據, 也屬于網絡編程. 二. 網絡編程套接字(socket) socket: 操作系統提供的網絡編程的 API 稱作 “soc…

(0)2024年基于財務的數據科學項目Python編程基礎(Jupyter Notebooks)

目錄 前言學習目標&#xff1a;學習內容&#xff1a;大綱 前言 隨著數據科學的迅猛發展&#xff0c;其在財務領域的應用也日益廣泛。財務數據的分析和預測對于企業的決策過程至關重要。 本專欄旨在通過Jupyter Notebooks這一強大的交互式計算工具&#xff0c;介紹基于財務的數…

【車載開發系列】常見單片機調試接口的區別

【車載開發系列】常見單片機調試接口的區別 【車載開發系列】常見單片機調試接口的區別 【車載開發系列】常見單片機調試接口的區別一. JTAG協議二. SWD接口三. RDI接口四. 仿真器1&#xff09;J-Link仿真器2&#xff09;ULink仿真器3&#xff09;ST-LINK仿真器 五. SWD / JTAG…

Day05-組織架構-角色管理

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 1.組織架構-編輯部門-彈出層獲取數據2.組織架構-編輯部門-編輯表單校驗3.組織架構-編輯部門-確認取消4.組織架構-刪除部門5.角色管理-搭建頁面結構6.角色管理-獲取數…

MySQL中的DDL語句

第一題 輸入密碼登錄mysql&#xff0c;創建數據庫zoo&#xff0c;轉換到zoo數據庫&#xff0c; mysql> create database zoo character set gbk; mysql> use zoo查看創建數據庫zoo信息 mysql> show create database zoo;刪除數據庫zoo mysql> drop database zo…

【后端面試題】【中間件】【NoSQL】MongoDB查詢優化2(優化排序、mongos優化)

優化排序 在MongoDB里面&#xff0c;如果能夠利用索引來排序的話&#xff0c;直接按照索引順序加載數據就可以了。如果不能利用索引來排序的話&#xff0c;就必須在加載了數據之后&#xff0c;再次進行排序&#xff0c;也就是進行內存排序。 可想而知&#xff0c;如果內存排序…

【居家養老實訓室】:看中醫保健在養老中的應用

本文以居家養老實訓室為視角&#xff0c;深入探討了中醫保健在養老中的應用。通過對中醫保健理念、常用方法以及在居家養老中的具體實踐進行分析&#xff0c;闡述了其在改善老年人健康狀況、提高生活質量方面的重要作用。同時&#xff0c;也指出了目前應用中存在的問題&#xf…

Apache Kylin模型構建全解析:深入理解大數據的多維分析

引言 Apache Kylin是一個開源的分布式分析引擎&#xff0c;旨在為大數據提供快速的多維分析能力。它通過預計算技術&#xff0c;將數據轉化為立方體模型&#xff08;Cube&#xff09;&#xff0c;從而實現對Hadoop大數據集的秒級查詢響應。本文將詳細介紹Kylin中模型構建的全過…