我们正在努力恢复Google Play商店上的Unionpedia应用程序
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

可变参数宏和可变参数模板

快捷方式: 差异相似杰卡德相似系数参考

可变参数宏和可变参数模板之间的区别

可变参数宏 vs. 可变参数模板

可变参数宏是C语言与C++语言的函数宏的参数个数可以是0个或多个。这一语言特性由C99引入。C++11也开始支持。. 可变参数模板是模板编程时,模板参数(template parameter)的个数可变的情形。 已经支持可变参数模板的编程语言有D语言与C++(自C++11标准)。.

之间可变参数宏和可变参数模板相似

可变参数宏和可变参数模板有(在联盟百科)4共同点: 可變參數函數C++C++11GCC

可變參數函數

在計算機程序設計,一個可變參數函數是指一個函數擁有不定引數,即是它接受一個可變數目的參數。不同的程式語言對可變參數函數的支持有很大差異。 一般而言,在設計函數時會遇到許多數學和邏輯操作,是需要一些可變功能。例如,計算數字串的總和、字符串的聯接或其他操作過程,都可以存在任意數量的參數。 另一種許多語言都實現為可變參數函數的是格式輸出函數,在C語言的printf函數和Common Lisp的format函數就是例子。這些函數都需要一個參數,指定格式的輸出,再讀取可變參數的值進行格式化。 另外,可變參數函數在某些語言存在安全問題。例如C語言在沒有長度檢查和類型檢查,在傳入過少的參數或不符的類型時可能會出現溢位的情況,更可能會被利用為攻擊目標。所以,在設計函數時可以先考慮其他替補方案,例如以類型安全的方式——重載。.

可变参数宏和可變參數函數 · 可变参数模板和可變參數函數 · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

C++和可变参数宏 · C++和可变参数模板 · 查看更多 »

C++11

C++11,先前被稱作C++0x,即ISO/IEC 14882:2011,是C++程式語言的一个標準。它取代第二版標準ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公開於1998年,第二版於2003年更新,分别通稱C++98以及C++03,两者差异很小),且已被C++14取代。相比于C++03,C++11標準包含核心語言的新機能,而且擴展C++標準程式庫,併入了大部分的C++ Technical Report 1程式庫(數學的特殊函式除外)。 ISO/IEC JTC1/SC22/WG21 C++標準委員會計劃在2010年8月之前完成對最終委員會草案的投票,以及於2011年3月召開的標準會議完成國際標準的最終草案。然而,WG21預期ISO將要花費六個月到一年的時間才能正式發佈新的C++標準。為了能夠如期完成,委員會決定致力於直至2006年為止的提案,忽略新的提案。最终于2011年8月12日公布,并于2011年9月出版。 2012年2月28日的國際標準草案是最接近于C++11标准的草案,差异仅有编辑上的修正。 像C++這樣的程式語言,透過一種演化的的過程來發展其定義。這個過程不可避免地將引發與現有程式碼的相容問題,在C++的發展過程中偶爾會發生。不過根據比雅尼·斯特劳斯特鲁普(C++的創始人並且是委員會的一員)表示,新的標準將幾乎100%相容於現有標準。.

C++11和可变参数宏 · C++11和可变参数模板 · 查看更多 »

GCC

GNU编译器套裝(GNU Compiler Collection,縮寫為GCC),指一套编程語言编译器,以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,也是GNU工具链的主要組成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。 原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC在发布后很快地得到擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,Go與其他語言。 許多操作系統,包括許多类Unix系統,如Linux及BSD家族都採用GCC作為标准编译器。蘋果電腦预装的Mac OS X操作系统也採用這個編譯器。 GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式(、)。.

GCC和可变参数宏 · GCC和可变参数模板 · 查看更多 »

上面的列表回答下列问题

可变参数宏和可变参数模板之间的比较

可变参数宏有9个关系,而可变参数模板有14个。由于它们的共同之处4,杰卡德指数为17.39% = 4 / (9 + 14)。

参考

本文介绍可变参数宏和可变参数模板之间的关系。要访问该信息提取每篇文章,请访问: