freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

06標(biāo)準(zhǔn)c與字符串-資料下載頁(yè)

2025-08-04 07:56本頁(yè)面
  

【正文】 個(gè)枚舉變量。例如:enum season {spring, summer, autumn, winter}。enum season ssn。ssn = spring。 // 在C和C++中都可以ssn = 2。 // 在C中會(huì)發(fā)出警告,但在C++中是一個(gè)錯(cuò)誤ssn = (enum season)1。 // 在C和C++中都可以ssn++。 // 在C中可以,但在C++中是一個(gè)錯(cuò)誤l 指向void的指針在C++中不能把指向void的指針,不經(jīng)顯示轉(zhuǎn)換,而直接賦給其它類(lèi)型的指針。但是在C中則可以。例如:int a[4] = {1, 2, 3, 4}。int *pi。void *pv。pv = a。 // 在C和C++中都可以pi = pv。 // 在C中可以,但在C++中非法pi = (int *)pv。 // 在C和C++中都可以l 布爾類(lèi)型:C++中的布爾類(lèi)型bool和值true與false都是關(guān)鍵字。在C99中_Bool類(lèi)型是關(guān)鍵字。l 可選的拼寫(xiě):and、or和not_eq等在C++中都是關(guān)鍵字;。l 寬字符類(lèi)型:wchar_t在C++是關(guān)鍵字;。l 復(fù)數(shù)類(lèi)型:在C99中可以通過(guò)關(guān)鍵字_Complex和_Imaginary來(lái)使用內(nèi)置的復(fù)數(shù)類(lèi)型。但是C++中是通過(guò)頭文件plex中的模版類(lèi)來(lái)使用復(fù)數(shù)類(lèi)型的。()l 內(nèi)聯(lián)函數(shù):與全局常型變量類(lèi)似,C99的內(nèi)聯(lián)函數(shù)默認(rèn)是外部鏈接的,而C++的內(nèi)聯(lián)函數(shù)則默認(rèn)是內(nèi)部鏈接的。在C中還允許混合使用函數(shù)的內(nèi)聯(lián)和外聯(lián),但是在C++中是不允許的。l 標(biāo)準(zhǔn)C++中目前所沒(méi)有的C99特性:n 指定初始化條目;n 復(fù)合初始化條目;n 受限指針;n 變長(zhǎng)數(shù)組;n 彈性數(shù)組成員;n long long和unsigned long long類(lèi)型;(VC05支持)n 可移植的整數(shù)類(lèi)型;n 通用字符名;(VC05支持)n 附加的數(shù)學(xué)庫(kù)函數(shù);n ;n 若干預(yù)定義的標(biāo)識(shí)符,如__func__;n 具有可變數(shù)目的參數(shù)宏。7)參考文獻(xiàn)l Stephen Prata(云巔工作室譯). C Primer Plus(第五版)中文版. 人民郵電出版社,2005. 16開(kāi)/626頁(yè)/60元。l ISO/IEC 9899:1999 Programming languages – C()l ISO/IEC 9899:TC2()Programming languages – C(Committee Draft)(ISO C CD 200556 )其中,C標(biāo)準(zhǔn)及草案的文檔見(jiàn)我的網(wǎng)絡(luò)硬盤(pán)2.C++作為結(jié)構(gòu)化的面向過(guò)程的編程語(yǔ)言,C已經(jīng)是非常優(yōu)秀的了,它簡(jiǎn)單、高效、靈活、功能強(qiáng)大。但是,隨著軟件開(kāi)發(fā)的規(guī)模越來(lái)越大,所針對(duì)的問(wèn)題和系統(tǒng)越來(lái)越復(fù)雜,對(duì)軟件維護(hù)和重用的需求越來(lái)越高。僅僅靠面向過(guò)程的編程技術(shù),就顯得有點(diǎn)力不從心了。因此,針對(duì)問(wèn)題的面向?qū)ο缶幊碳夹g(shù),就應(yīng)運(yùn)而生。1985年,Bjarne Stroustrup對(duì)C語(yǔ)言進(jìn)行了擴(kuò)充,在保留C語(yǔ)言?xún)?yōu)點(diǎn)的基礎(chǔ)上,添加了面向?qū)ο蟮奶卣骱凸δ芎?,開(kāi)發(fā)出了C++語(yǔ)言。1994年,Alexander Stepanov又將泛型編程技術(shù)引入C++。使得現(xiàn)在的C++,成為了一種同時(shí)具有面向過(guò)程、面向?qū)ο蠛头盒途幊痰奶卣?,功能?qiáng)大、運(yùn)行高效、使用廣泛的混合型程序設(shè)計(jì)語(yǔ)言。1998年,C++最終成為國(guó)際標(biāo)準(zhǔn)(ISO/IEC 14882:1998 Programming languages C++,程序設(shè)計(jì)語(yǔ)言——C++)。2003年,ISO又推出了它的第2版(ISO/IEC 14882:2003),對(duì)第1版中的錯(cuò)誤進(jìn)行了修訂。1)OOP程序設(shè)計(jì)語(yǔ)言,在思想上發(fā)展很快,在技術(shù)上也是不斷創(chuàng)新。經(jīng)歷了手工操作(控制面板)、機(jī)器語(yǔ)言、匯編語(yǔ)言、宏匯編語(yǔ)言、高級(jí)語(yǔ)言和第4代語(yǔ)言等多個(gè)階段。OOP(ObjectOriented Programming面向?qū)ο缶幊蹋┲皇窃诟呒?jí)程序設(shè)計(jì)語(yǔ)言中,流行的多種編程技術(shù)之一。(1)軟件重用在現(xiàn)代高級(jí)語(yǔ)言中,使用了有多種不同的編程思想和軟件技術(shù)。在強(qiáng)調(diào)軟件重用的今天,為了減輕編程強(qiáng)度,避免重復(fù)勞動(dòng),存在著多種重用的方法和思路。主要有:l 面向?qū)ο螅∣O = ObjectOriented)——針對(duì)問(wèn)題的面向?qū)ο蟮募夹g(shù),通過(guò)類(lèi)的繼承和對(duì)象的多態(tài)來(lái)實(shí)現(xiàn)對(duì)象的重用;l 泛型編程(generic programming)——面向算法的泛型編程技術(shù),則通過(guò)模版、容器和迭代器等來(lái)實(shí)現(xiàn)源代碼塊的重用;l 組件編程(ponents programming)——面向方案和分布式計(jì)算的組件編程技術(shù),通過(guò)功能封裝和接口標(biāo)準(zhǔn)化,實(shí)現(xiàn)了軟件模塊的組合和共享;l 面向方面(AO = AspectOriented)——最新的面向方面的編程,則利用不同問(wèn)題所具有的共同特性,從某個(gè)方面出發(fā),著眼于關(guān)注點(diǎn),開(kāi)發(fā)出具有多量化(適用于多個(gè)問(wèn)題中)和不知覺(jué)性(對(duì)程序員透明)的程序,也達(dá)到了代碼共享和模塊重用的目的。當(dāng)然,面向過(guò)程(procedureoriented)和算法的結(jié)構(gòu)化程序設(shè)計(jì),是所有軟件開(kāi)發(fā)的底層基礎(chǔ)。結(jié)構(gòu)化的面向過(guò)程的編程,采用自頂向下的方法,對(duì)問(wèn)題進(jìn)行逐級(jí)分解。將常用的代碼模塊寫(xiě)成函數(shù)和子過(guò)程,通過(guò)函數(shù)和子過(guò)程的調(diào)用,同樣做達(dá)到了目標(biāo)代碼塊的重用。模塊共享對(duì)象重用源代碼重用面向方案組件編程泛型編程對(duì)象編程面向問(wèn)題面向算法軟件重用代碼共享方面編程面向方面問(wèn)題分解軟件基礎(chǔ)面向算法過(guò)程編程結(jié)構(gòu)化程序設(shè)計(jì)函數(shù)調(diào)用↓ 目標(biāo)代碼重用(2)面向?qū)ο竺嫦驅(qū)ο缶幊痰娜齻€(gè)基本特征是:l 封裝(encapsulation)—— 是對(duì)問(wèn)題的抽象,以達(dá)到信息隱藏的目的。通過(guò)類(lèi)和對(duì)象,將屬性(數(shù)據(jù)/變量)和方法(操作/函數(shù))封裝在一個(gè)黑箱內(nèi),將細(xì)節(jié)隱藏起來(lái)。既可以保護(hù)數(shù)據(jù)不被他人惡意或大意地修改,又能防止其他程序員編寫(xiě)高耦合度的代碼,還方便了今后對(duì)對(duì)象內(nèi)部的修改和升級(jí);l 繼承(inheritance)—— 利用問(wèn)題和事物的相似性,通過(guò)類(lèi)的(多層)繼承機(jī)制,可以達(dá)到減少軟件開(kāi)發(fā)難度和重用已有對(duì)象的屬性和方法之目的;l 多態(tài)(polymorphism)—— 同一操作或響應(yīng),可以同時(shí)針對(duì)多個(gè)可選的類(lèi)型和對(duì)象,并且能夠自動(dòng)在它們中間選擇最合適的來(lái)進(jìn)行。多態(tài)可以分為:n 編譯時(shí)多態(tài):包括函數(shù)和運(yùn)算符的重載(overload),通過(guò)早期的靜態(tài)綁定(binding)來(lái)實(shí)現(xiàn);n 運(yùn)行時(shí)多態(tài):通過(guò)繼承結(jié)合晚期動(dòng)態(tài)綁定來(lái)實(shí)現(xiàn)——用同一基類(lèi)的指針,可以訪(fǎng)問(wèn)各個(gè)不同派生類(lèi)中的同名方法和函數(shù)。(3)基本概念面向?qū)ο蟮幕靖拍睿海?lèi)似的概念多、表達(dá)不夠準(zhǔn)確、各處的用法各異)l 抽象(abstraction)—— 一個(gè)問(wèn)題的本質(zhì)特征。忽略一個(gè)對(duì)象的細(xì)節(jié),致力于一般的合適級(jí)別的程序能力。抽象是在事物的周?chē)L制透明的盒子,是定義事物接口的行為l 信息隱藏(information hiding)—— 限制外部對(duì)類(lèi)屬性(數(shù)據(jù)成員)的訪(fǎng)問(wèn)l 封裝(encapsulation)—— 將某種保密和隱匿應(yīng)用到類(lèi)中的數(shù)據(jù)和一些方法(函數(shù)或子例程)上。封裝確保一個(gè)對(duì)象只能通過(guò)確定的渠道(即類(lèi)的公用方法)才可被修改。封裝意味著將數(shù)據(jù)及相關(guān)函數(shù)打包到一個(gè)單一的單元(類(lèi))中。每個(gè)對(duì)象暴露一個(gè)接口(公用方法),規(guī)定其他對(duì)象可以如何讀取或修改它l 類(lèi)(class)—— 問(wèn)題的抽象,對(duì)象的模版,接口的實(shí)現(xiàn)。例如int是整數(shù)的模版、CPoint是點(diǎn)的模版l 對(duì)象(object)—— 問(wèn)題中的事物,類(lèi)的實(shí)例(變量),擁有數(shù)據(jù)和功能。若int i。 CPoint p。 則i是int的實(shí)例變量,p是CPoint的實(shí)例對(duì)象l 實(shí)例(instance)—— 一個(gè)對(duì)象,是某個(gè)類(lèi)的示例l 實(shí)例化(intantiate)—— 由類(lèi)定義創(chuàng)建對(duì)象l 繼承(inheritance)—— 創(chuàng)建子類(lèi)的機(jī)制,一種“is a”或“is like”關(guān)系,形成類(lèi)層次結(jié)構(gòu)。是OOP中對(duì)象重用的核心概念l 子類(lèi)(subclass)—— 繼承自另一個(gè)類(lèi)的派生類(lèi)(derived class)l 超類(lèi)(superclass父類(lèi))—— 被另一個(gè)類(lèi)繼承的基類(lèi)(base class)l 虛函數(shù)(virtual function)—— 可以在子類(lèi)中被覆蓋(override)的函數(shù)l 純虛函數(shù)(pure virtual function)—— 只有聲明沒(méi)有定義的函數(shù),必須在派生類(lèi)中被覆蓋l 抽象類(lèi)(abstract class)—— 至少包含一個(gè)純虛函數(shù)的類(lèi),不能被實(shí)例化l 具體類(lèi)(concrete class)—— 可以實(shí)例化的類(lèi),不包含純虛函數(shù)l 接口(interface)—— 純抽象的類(lèi),類(lèi)的模版。接口中的所有的方法(成員函數(shù))都只有聲明,沒(méi)有定義(都是純虛函數(shù))。必須在接口的派生類(lèi)中,實(shí)現(xiàn)接口的全部方法。接口可以看成是一個(gè),定義了一套內(nèi)部行為的,若干操作特征標(biāo)記的集合。(在C++中,也把類(lèi)的公用成員函數(shù)叫做接口)l 屬性(attribute)—— 類(lèi)和接口中的數(shù)據(jù)信息,又叫數(shù)據(jù)成員(data member)或成員變量(member variable)。屬性是類(lèi)知道的事物l 方法(method)—— 類(lèi)操作的實(shí)現(xiàn),又叫成員函數(shù)(member function)。方法是類(lèi)要做的事情。(在C++中,也把虛函數(shù)叫做方法)l 重載(overload)—— 一個(gè)類(lèi)中的,參數(shù)的數(shù)目、類(lèi)型或排列順序不同的多個(gè)同名方法(成員函數(shù))l 覆蓋(override)—— 在子類(lèi)中重新定義(與父類(lèi)中的定義有區(qū)別的)屬性和方法l 持久化(persistence)—— 將對(duì)象存入永久存儲(chǔ)中(如文件、數(shù)據(jù)庫(kù)等)l 持久對(duì)象(persistent object)—— 存入永久存儲(chǔ)的對(duì)象(4)簡(jiǎn)史計(jì)算機(jī)科學(xué)中,對(duì)象的概念和實(shí)例,最早出現(xiàn)在MIT的PDP1中(1960年)。1963年Ivan Sutherland在其博士論文中所編寫(xiě)的計(jì)算機(jī)程序Sketchpad,應(yīng)用了對(duì)象技術(shù)。但是,作為一種程序設(shè)計(jì)方法,OOP(ObjectOriented Programming面向?qū)ο缶幊蹋┳钤绯霈F(xiàn)在1967年,由(位于挪威首都奧斯陸的)挪威計(jì)算中心的OleJohan Dahl和Kristen Nygaard,在他們發(fā)明的Simula67語(yǔ)言中首先引入的。Simula語(yǔ)言是在A(yíng)lgol60基礎(chǔ)上,加入了對(duì)象、類(lèi)和繼承等概念后開(kāi)發(fā)出來(lái)的,它在OOP的歷史中占有重要地位。Smalltalk是1970年代,由美國(guó)施樂(lè)(Xerox)公司PARC(Palo Alto Research Center帕洛阿爾托研究中心)的Alan Kay、Dan Ingalls、Ted Kaehler和Adele Goldberg等人,開(kāi)發(fā)的一種面向?qū)ο蠛蛣?dòng)態(tài)類(lèi)型的交互式程序設(shè)計(jì)語(yǔ)言。它受到了Sketchpad和Simula的影響,但是Smalltalk被設(shè)計(jì)成一個(gè)全動(dòng)態(tài)系統(tǒng)的純OOP,程序的所有成分都是對(duì)象(為了提高運(yùn)行效率,C++/Java/C 中的基本數(shù)據(jù)類(lèi)型都不是對(duì)象),對(duì)象可以被動(dòng)態(tài)地創(chuàng)建、修改和銷(xiāo)毀。在Smalltalk中還創(chuàng)造出詞匯“39。inheritance(繼承)”和“Objectoriented programming(面向?qū)ο蟮某绦蛟O(shè)計(jì))”。使OOP走向輝煌的是1985年發(fā)明的C++,隨著GUI(Graphical User Interfaces圖形用戶(hù)界面)的流行,C++的地位更加鞏固。但是,因特網(wǎng)的發(fā)展和萬(wàn)維網(wǎng)的流行,又催生了另一個(gè)重要的OOP語(yǔ)言——Java(1995年)。為了與Sun公司的Java競(jìng)爭(zhēng),微軟公司也推出了一種OOP語(yǔ)言——C(2000)。2)C++的歷史與發(fā)展(1)歷史1979年,貝爾實(shí)驗(yàn)室的計(jì)算機(jī)科學(xué)家,丹麥人Bjarne Stroustrup(~bs/)在Simula 67的啟發(fā)下,將C語(yǔ)言擴(kuò)展為帶類(lèi)的C (C with Classes),1983年Rick Mascitti將其命名為C++。1985年10月Bjarne Stroustrup實(shí)現(xiàn)了C++的第一個(gè)商用版本,與此同時(shí)他還出版了《The C++ Programming Language(C++程序設(shè)計(jì)語(yǔ)言)》的第1版,成為C++的事實(shí)標(biāo)準(zhǔn)。C++的第1版,提供了面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征:類(lèi)和對(duì)象、單繼承、虛函數(shù)、公有/私有成員的訪(fǎng)問(wèn)控制、函數(shù)重載等。Bjarne Stroustrup1989年推出C++的第2版,增加了多繼承、抽象類(lèi)、靜態(tài)和常型成員函數(shù)、保護(hù)成員的訪(fǎng)問(wèn)控制、運(yùn)算符重載等新特性,促使C++語(yǔ)言流行起來(lái)。1990年1月1日Margaret A. Ellis和Bjarne Stroustrup出版了《The Annotated C++ Reference Manual(帶注釋的C++參考手冊(cè))》。1991年Bjarne Stroustrup推出了《C++程序設(shè)計(jì)語(yǔ)言》的第2版:The C++ Programming Language (2nd edition)。1993年推出C++的第3版,增加了模板、異常處理和嵌套類(lèi)等新特性.1994年3月29日Bjarne Stroustrup出版了《The Design and Evolution of C++(C++的設(shè)計(jì)和演化)》。1997年Bjarne Stroustrup推出了《C++程序設(shè)計(jì)語(yǔ)言》的第3版:The C++ Programming Language (3rd edition)。1994年7月,ANSI/ISO C++標(biāo)準(zhǔn)委員會(huì),通過(guò)了Alexander Stepanov提出的STL(Standard Template Library標(biāo)準(zhǔn)模板庫(kù))方案。1998年9月1日C++成為國(guó)際標(biāo)準(zhǔn)(ISO/IEC 14882:1998 Programming languages C++,程序設(shè)計(jì)語(yǔ)言——C++),添加的新特性主要有:命名空間、新的強(qiáng)制類(lèi)型
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1