中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++11包擴展舉例分析

發布時間:2021-11-25 15:50:23 來源:億速云 閱讀:152 作者:iii 欄目:大數據

這篇文章主要講解了“C++11包擴展舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++11包擴展舉例分析”吧!

簡單擴展

假設我們有下面的模板函數。

C++11包擴展舉例分析

這是一個簡單的加法函數,將參數a,b,c的值相加。

另外有一個可變參數的模板函數sum,調用add函數。

C++11包擴展舉例分析

光從形式上來看,兩個函數的簽名完全不同,但是程序可以正常執行。其原因就是發生了包擴展,編譯器根據add的需求將values包進行了擴展。包擴展的格式就是在包名后面加上三個小點。

考慮通過下面的代碼調用sum函數。

C++11包擴展舉例分析

第一個實參1賦值給了形參t,values則包含了另外兩個實參2和3。values展開的結果就是2,3。也就是說,add(t, values...)等價于add(1, 2, 3)。

更進一步

在理解了簡單擴展的基礎上,看下面的代碼。

C++11包擴展舉例分析

這是利用add函數計算平方和的模板函數。注意參數展開部分的寫法:(value*value)...

這里小括號的用法,...的位置都需要考慮。

感謝各位的閱讀,以上就是“C++11包擴展舉例分析”的內容了,經過本文的學習后,相信大家對C++11包擴展舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

曲周县| 商河县| 沙坪坝区| 海安县| 衡山县| 盐边县| 定结县| 龙州县| 安福县| 靖宇县| 南皮县| 永靖县| 广南县| 满洲里市| 赣榆县| 甘泉县| 池州市| 汽车| 吉首市| 桦南县| 遵义县| 马边| 阜平县| 揭西县| 合江县| 昌吉市| 营口市| 扬中市| 东宁县| 烟台市| 河南省| 龙泉市| 大庆市| 长岛县| 淮阳县| 闸北区| 洪洞县| 元氏县| 万源市| 若羌县| 栖霞市|