什么是构造函数事函数

标准函数_百度百科
特色百科用户权威合作手机百科
收藏 查看&标准函数
C++标准函数库为C++们提供了一个可扩展的基础性框架。我们从中可以获得极大的便利,同时也可以通过继承现有类,自己编制符合接口规范的容器、算法、迭代子等方式对之进行扩展。外文名Standard function分&&&&类函数
基本保持了与原有C语言程序库的良好兼容,尽管有些微变化。人们总会忍不住留恋过去的美好岁月,如果你曾经是一个C程序员,对这一点一定体会颇深。或许有一点会让你觉得奇怪,那就是在C++标准库中存在两套C的函数库,一套是带有.h扩展名的(比如&stdio.h&),而另一套则没有(比如&cstdio&)。它们确实没有太大的不同。(language support)部分
包含了一些标准类型的定义以及其他特性的定义,这些内容,被用于标准库的其他地方或是具体的应用程序中。(diagnostics)部分
提供了用于程序诊断和报错的功能,包含了(exception handling),断言(assertions),错误代码(error number codes)三种方式。(general utilities)部分
这部分内容为C++标准库的其他部分提供支持,当然你也可以在自己的程序中调用相应功能。比如:动态内存管理工具,日期/时间处理工具。记住,这里的内容也已经被泛化了(即采用了模板机制)。(string)部分
用来代表和处理文本。它提供了足够丰富的功能。事实上,文本是一个string对象,它可以被看作是一个字符序列,字符类型可能是char,或者wchar_t等等。string可以被转换成char*类型,这样便可以和以前所写的C/C++代码和平共处了。因为那时候除了char*,没有别的。(internationalization)部分
作为OOP特性之一的封装机制在这里扮演着消除文化和地域差异的角色,采用locale和facet可以为程序提供众多国际化支持,包括对各种的支持,日期和时间的表示,数值和货币的处理等等。毕竟,在中国和在美国,人们表示日期的习惯是不同的。(containers)部分
STL的一个重要组成部分,涵盖了许多数据结构,比如前面曾经提到的,还有:vector(类似于大小可动态增加的)、queue()、stack()……。string也可以看作是一个容器,适用于容器的方法同样也适用于string。现在你可以轻松的完成数据结构课程的家庭作业了。(algorithms)部分
STL的一个重要组成部分,包含了大约70个通用算法,用于操控各种容器,同时也可以操控内建。比如:find用于在容器中查找等于某个特定值的元素,for_each用于将某个函数应用到容器中的各个元素上,sort用于对容器中的元素排序。所有这些操作都是在保证执行效率的前提下进行的,所以,如果在你使用了这些算法之后程序变得效率底下,首先一定不要怀疑这些算法本身,仔细检查一下程序的其他地方。(iterators)部分
STL的一个重要组成部分,如果没有的撮合,容器和算法便无法结合的如此完美。事实上,每个容器都有自己的,只有容器自己才知道如何访问自己的元素。它有点像,算法通过来定位和操控容器中的元素。(numerics)部分
包含了一些数学运算功能,提供了复数运算的支持。(input/output)部分
就是经过模板化了的原有标准库中的iostream部分,它提供了对C++程序输入输出的基本支持。在功能上保持了与原有iostream的兼容,并且增加了的机制,并支持国际化(internationalization)。
总体上,在C++标准函数库中,STL主要包含了容器、算法、。string也可以算做是STL的一部分。
新手上路我有疑问投诉建议参考资料 查看维基百科,自由的百科全书
特殊函数是指一些具有特定性质的函数,一般有约定俗成的名称和记号,例如、、等。它们在、、、中有着举足轻重的地位。许多特殊函数是的解或基本函数的积分,因此积分表中常常会出现特殊函数,特殊函数的定义中也经常会出现积分。传统上对特殊函数的分析主要基于对其的数值展开基础上。随着电子计算的发展,这个领域内开创了新的研究方法。因为微分方程的对称性在数学和物理中的重要性,特殊函数理论也与和密切相关。
事实上,对于哪些函数属于特殊函数,并没有明确的规定。中列出了一些通常被认为的特殊函数。广义上,基本超越函数(即、、非有理次幂的、、等)也称为特殊函数。
  這是與相關的。你可以通过扩充其内容。
:隐藏分类:trackbacks-0
可重入函数
&&&& 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会 出错。不可重入函数在实时系统设计中被视为不安全函数。
&&&& 满足下列条件的函数多数是不可重入的:
(1)函数体内使用了静态的数据结构;
(2)函数体内调用了malloc()或者free()函数;
(3)函数体内调用了标准I/O函数。
如何写出可重入的函数?在函数体内不访问那些全局变量,不使用静态局部变量,坚持只使用缺省态(auto)局部变量,写出的函数就将是可重入的。如果必须访问全局变量,记住利用互斥信号量来保护全局变量。或者调用该函数前关中断,调用后再开中断。
可重入函数可以被一个以上的任务调用,而不必担心数据被破坏。可重入函数任何时候都可以被中断,一段时间以后又可以运行,而相应的数据不会丢失。可重入函数或者只使用局部变量,即保存在CPU寄存器中或堆栈中;或者使用全局变量,则要对全局变量予以保护。 & 说法2: 一个可重入的函数简单来说,就是:可以被中断的函数。就是说,你可以在这个函数执行的任何时候中断他的运行,在任务调度下去执行另外一段代 码而不会出现什么错误。而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等等,所以他如果被中断的话,可能出现问题,所以这类函数是 不能运行在多任务环境下的。基本上下面的函数是不可重入的(1)函数体内使用了静态的数据结构;(2)函数体内调用了malloc()或者free()函数;(3)函数体内调用了标准I/O函数。把一个不可重入函数变成可重入的唯一方法是用可重入规则来重写他。其实很简单,只要遵守了几条很容易理解的规则,那么写出来的函数就是可重入的。第一,不要使用全局变量。因为别的代码很可能覆盖这些变量值。第二,在和硬件发生交互的时候,切记执行类似disinterrupt()之类的操作,就是关闭硬件中断。完成交互记得打开中断,在有些系列上,这叫做“进入/退出核心”或者用OS_ENTER_KERNAL/OS_EXIT_KERNAL来描述。//这是临界区保护第三,不能调用任何不可重入的函数。第四,谨慎使用堆栈。最好先在使用前先OS_ENTER_KERNAL。还有一些规则,都是很好理解的,总之,时刻记住一句话:保证中断是安全的!
阅读(...) 评论()維基百科,自由的百科全書
(已重新導向自 )
本文介紹的是數學中的函數。關於計算機領域的函數,詳見「」。
「F(x)」重定向至此。關於同名的韓國女子組合,詳見「」。
在中,一個函數是描述每個輸入值對應唯一輸出值的這種對應關係。例如,把x聯繫到其x2的對應關係,就是一個函數。若以3作為此函數的輸入值,所得的輸出值便是9。
為方便起見,一般做法是以符號來指代一個函數。若函數以作為輸入值,則其輸出值一般寫作。比如,我們可以把上述的平方函數簡單記為,也可以寫這樣的等式。
在英文中讀作f of x,但在中文中則常讀作f x。包含某個函數所有的輸入值的集合被稱作這個函數的,包含所有的輸出值的集合被稱作。
函數有多種方法來表示。如解析法(就是用數學表達式表達兩個變數之間的對應關係),圖像法(就是用圖像/坐標系表達兩個變數之間的對應關係),列表法(就是用表格表達兩個變數之間的對應關係)。
定義函數的時候,需確定每一個輸入值只對應於唯一輸出值。因此,如
(表示的為)
這樣的表達式並沒有定義出一個函數,因為輸出值可能有兩個。例如,9的平方根是3和-3。要定義為一個函數的話,必須明確地選擇一個平方根。我們可以定義
(表示的正平方根為)
亦即對於任何非負輸入值,選擇其非負平方根作為函數值。
函數並不一定與數字有關。例如,指定每個國家當前的首都,那麼,在這個函數裡,
在中,函數有精確的定義,這裡就只作一個非正式的說明:令A和B為兩個,若對於A每個元素x,B中都有一個被限定的唯一元素y與其對應,就稱這種對應關係為一個從A到B的函數。集合A被稱為函數的,而集合B被稱為函數的。
在一些領域,比如在中,函數可以是作為一個原始概念,而不像在集合論般有所定義。
在大部分的數學領域內,術語、、通常是函數的近義詞。不過,在某些情況這些術語可能有別的特定意思。例如,在中一個映射有時被定義成一個。
簡而言之,函數是將唯一的輸出值賦予每一輸入的「法則」,以及該輸出值與對應輸入值的集合。這一「法則」可以用函數表達式、,或者一個將輸入值與輸出值對應列出的簡單表格來表示。函數最重要的性質是其決定性,即同一輸入總是對應同一輸出(注意,反之未必成立)。從這種角度,可以將函數看作「機器」或者「」,它將有效的輸入值變換為唯一的輸出值。通常將輸入值稱作函數的參數,將輸出值稱作函數的值。
最常見的函數的參數和函數值都是數字,其對應關係用函數式表示,函數值可以通過直接將參數值代入函數式得到。如下例,
,的平方,即是函數值。
也可以將函數很簡單的推廣到與多個參量相關的情況。例如:
有兩個參量和,以乘積為值。與前面不同,這一「法則」與兩個輸入相關。其實,可以將這兩個輸入看作一個。可把g理解為以這個有序對作參數的函數,而函數值是。
科學研究中經常出現未知或不能給出表達式的函數。例如地球上不同時刻溫度的分佈,這一函數以地點和時間為參量,以某一地點、某一時刻的溫度作為輸出。
函數的概念並不局限於數的計算,甚至也不局限於計算。函數的數學概念更為寬泛,而且不僅僅包括數之間的映射關係。函數將「定義域」(輸入集)與「到達域」(可能輸出集)聯繫起來,使得定義域的每一個都唯一對應到達域中的一個元素。在下面還會提到,函數能被抽象定義為某種。由於函數定義的一般性,函數在幾乎所有的數學分支都是基礎概念。
函數這個數學名詞是在1694年開始使用的,用來描述跟相關的一個量,如曲線的或者曲線上的某一點。萊布尼茲所指的函數現在被稱作,數學家之外的普通人一般接觸到的函數即屬此類。對於可導函數可以討論它的和,此兩者描述了函數輸出值的變化同輸入值變化的關係,是的基礎。中文的「函數」一詞由數學家譯出。其《代數學》書中解釋:「凡此變數中函(包含)彼變數者,則此為彼之函數」。
1718年,(Johann Bernoulli)把函數定義為「一個變數的函數是指由這個變數和常量以任何一種方式組成的一種量。」
1748年,伯努利的學生(Leonhard Euler)在《無窮分析引論》一書中說:「一個的函數是由該變數和一些數或以任何一種方式構成的」,例如。
1775年,歐拉在《微分學原理》一書中又提出了函數的一個定義:「如果某些量以如下方式依賴於另一些量,即當後者變化時,前者本身也發生變化,則稱前一些量是後一些量的函數。」
19世紀的數學家開始對數學的各個分支進行形式化。(Karl Weierstrass)倡議將微積分學建立在,而不是的基礎上,這種主張較趨向於歐拉的定義。
函數的定義得以擴展之後,數學家便能對一些「奇怪」的數學對象進行研究,例如處處不可導的連續函數。這些函數曾經被認為只具有理論價值,遲至20世紀初時它們仍被視作「怪物」。稍後,人們發現這些函數在對如之類的物理現象進行建模時有重要的作用。
到19世紀末,數學家開始嘗試利用來進行數學的形式化。他們試圖將每一個數學對象都定義為。(Johann Peter Gustav Lejeune Dirichlet)給出了現代正式的函數定義(參見下文)。在他的定義作,函數被視作的特例。然而對於實際應用的情況,現代定義和歐拉定義的區別可以忽略不計。
一個函數f給出了輸入值x與輸出值f(x)之間的對應關係.
函數f的部分圖像。每個實數的x都與f(x) = x3 - 9x相聯繫。
從輸入值集合到可能的輸出值集合的函數(記作)是與的,滿足如下條件:
是完全的:對集合中任一元素都有集合中的元素滿足(與是相關的)。即,對每一個輸入值,中都有與之對應的輸出值。
是多對一的:若且,則。即,多個輸入可以映射到一個輸出,但一個輸入不能映射到多個輸出。
定義域中任一在到達域中唯一對應的記為。
比上面定義更簡明的表述如下:從映射到的函數是與的的。中任一都與中的唯一對應,且屬於。
與的關係若滿足條件(1),則為。函數都是多值函數,但多值函數不都是函數。與的關係若滿足條件(2),則為偏函數。函數都是偏函數,但偏函數不都是函數。除非特別指明,本條目中的「函數」總是指同時滿足以上兩個條件的關係。 考慮如下例子:
完全,但非多對一。X中的元素3與Y中的兩個元素b和c相關。因此這是多值函數,而不是函數。
多對一,但非完全。X的元素1未與Y的任一元素相關。因此這是偏函數,而不是函數。
完全且多對一。因此這是從X到Y的函數。此函數可以表示為f ={(1, d), (2, d), (3, c)},或
函數,將不同的輸入值映射到不同的函數值。即:若x和y屬於定義域,則僅當x = y時有f(x)= f(y)。
函數,其值域即為其到達域。即:對於映射f的到達域中之任意y,都存在至少一個x滿足f(x)= y。
函數,既是單射的又是滿射的函數。也叫。雙射函數經常被用於表明集合X和Y是等的,即有一樣的。如果在兩個之間可以建立一個,則說這兩個集合等勢。
元素x∈X在f之下的就是?(x)。
子集A?X在f之下的像,是以A的元素的像所組成的集合,為Y的一個子集,即
?(A) := {?(x) : x ∈ A}。
注意f的值域就是定義域X的像?(X)。在一節的最後例子中,{2,3}在f的像是?({2, 3}) = {c, d},而f的值域是{c, d}。
根據此定義,f可引申成為由X的(由X的子集組成的集)到Y的冪集之函數,亦記作f。
子集B ? Y在f的原像(或逆像)是如下定義的X的子集:
?-1(B) := {x ∈ X : ?(x)∈B}。
沿用同一例子,我們可以看到 {a, b} 的原像是?-1({a, b}) = {},即。
根據此定義,?-1(x)是由Y的冪集到X的冪集之函數。
以下是f及f-1的一些特性:
?(A1 ∪ A2) = ?(A1) ∪ ?(A2).
?(A1 ∩ A2) ? ?(A1) ∩ ?(A2).
?-1(B1 ∪ B2) = ?-1(B1) ∪ ?-1(B2).
?-1(B1 ∩ B2) = ?-1(B1) ∩ ?-1(B2).
?-1(?(B)) ? B.
?-1(?(A)) ? A.
這些特性適合定義域的任意子集A, A1及A2和到達域的任意子集B, B1及B2,甚至可推廣到任意子集群的和。
立方函數的圖像
函數f在平面上的圖像是點對(x,f(x))的集合,其中x取遍定義域上的所有成員。函數圖像可以幫助理解證明一些定理。 注意函數圖像可以有兩個定義:一是三元組(X,Y,G),其中X是函數的定義域,Y是函數的到達域,G是;二是索性以關係的圖定義。用第二個定義則函數f等於其圖象。
首都之於國家(若不把多首都國 計算在內)。
每個n的平方n?是n的函數。
。ln x是x的函數。注意,雖然可以把對數函數推廣到複數情況,但結果就不是函數了,而是多值函數。
對每個在平面上的點,其和(0, 0)的距離是確定的。
常用的數學函數包括、、、、、、等。它們都是。非初等函數(或)包括和等。
函數可分為
函數f: X → Y及g: Y → Z的複合函數是
g o f: X → Z :(g o f)(x) = g(?(x))。
舉例,飛機在t時刻的高度是h(t),而高度x處的氧氣濃度是c(x),則在t時刻飛機周圍的氧氣濃度是 (c o h)(t)
若Y?X則 f可自我複合;此時複合函數可記作f 2(不要與的符號混淆)。函數的冪的定義是對n有
f n+1= f n o f= f of n
對一個函數f: X→Y,若值域Y中任何一個元素y的原象是唯一的,那麼這個函數就被稱為是的。對任意的y∈Y到它的原象?-1(y)的映射,我們稱之為f的反函數,記為f-1。
舉一個反函數的例子,比如?(x) = x3,它的反函數是?-1(x) = 3√x。同樣,2x的反函數是x2。反函數是一個函數,它能夠「抵消」它的原函數,並具有和原函數相同的。參見。
給出的子集以及函數
稱為在的。
反之,若給出函數
當一個定義在的函數有,就是的。
設函數f: X → R及g: X → R有X為共同的定義域及R為共同的到達域。我們可以定義「函數和」f + g: X → R及「函數積」f×g:X → R如下:
(f + g)(x) := ?(x) + g(x);
f×g(x) := ?(x)×g(x);
對於所有X中的x。
這樣子我們得出一個函數組成的環。這是一個抽象性擴張的例子,由此我們從較簡單的結構得出更複雜的。
若然用別的A代替R,得出的由X到A的函數集會類似地擁有和A相同的代數結構。
歧義函數,也稱,指有輸出值多於一個的情況。例如,4的可以是2或者-2,而兩者的皆是4。
嚴格來說,歧義函數不完全算是函數,因為數學函數的定義對於一個輸入值只能有唯一一個輸出值。實際上,這樣的「函數」通常被稱為。理論採用處理函數多值的困境。
多元函數(n-元函數)是指輸入值為的函數。或者說,若一函數的輸入值域為n個集合的的子集,這函數就是n-元函數。例如,距離函數dist((x,y))是一個二元函數,輸入值是由兩個點組成的序對。另外,(即輸入值為複數的多元組)是一個重要的數學課題。
在中,其實都是函數,如乘法"*"是個二元函數:當我們寫x*y時,其實是用上了*(x,y)的。
是一個以函數概念為中心的重要理論範式,其中的運算對象為多元函數,基本基於,而函數的複合則採用來完成。特別地,通過一種稱為的變換,可將多元函數變換為一元函數。
所有從整數到整數的的個數是,這是因為所有可能的演算法個數是可數的。從整數 到整數的函數個數要更多些-和個數一樣多,也就是說是等的。這說明有些從整數到整數的函數是不可計算的。關於不可計算函數,請參看和:)。
在中,函數的槪念被推廣為的槪念。
一個包括一組物件與一組態射,每一個態射是個三元組(X, Y, f),X稱為源物件(定義域的類比),Y稱為目標物件(到達域的類比),而源物件與目標物件是範疇內的物件。基於這種解釋,可以把函數看作裡面的態射。
by Lawrence S. Husch, (2001年)
,經典函數示例
,彙集了各數學函數的公式和圖像
一個多功能的Java小程序,可以顯示函數的圖像,既可以在線使用,也可以下載運行。特殊函数_百度百科
特色百科用户权威合作手机百科
收藏 查看&特殊函数本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
特殊函数是指一些具有特定性质的函数,一般有约定俗成的名称和记号,例如、、菲涅耳积分等。它们在、、物理研究、工程应用中有着举足轻重的地位。许多特殊函数是的解或基本函数的积分,因此积分表中常常会出现特殊函数,特殊函数的定义中也经常会出现积分。传统上对特殊函数的分析主要基于对其的数值展开基础上。随着电子计算的发展,这个领域内开创了新的研究方法。因为微分方程的对称性在数学和物理中的重要性,特殊函数理论也与和密切相关。含&&&&义一些具有特定性质的例&&&&如例如、 特殊函数是指一些具有特定性质的,一般有约定俗成的名称和记号,例如、、菲涅耳积分等。它们在、、物理研究、工程应用中有着举足轻重的地位。许多特殊函数是的解或基本函数的积分,因此积分表中常常会出现特殊函数,特殊函数的定义中也经常会出现积分。传统上对特殊函数的分析主要基于对其的数值展开基础上。随着电子计算的发展,这个领域内开创了新的研究方法。因为微分方程的对称性在数学和物理中的重要性,特殊函数理论也与和密切相关。
事实上,对于哪些函数属于特殊函数,并没有明确的规定。函数列表中列出了一些通常被认为的特殊函数。广义上,基本超越函数(即、、非有理次幂的、、等)也称为特殊函数。
新手上路我有疑问投诉建议参考资料 查看

我要回帖

更多关于 什么是构造函数 的文章

 

随机推荐