![加餐丨部分課后思考題答案合集_第1頁(yè)](http://file4.renrendoc.com/view/72ec419691540ce752d7f5f0b5721ba8/72ec419691540ce752d7f5f0b5721ba81.gif)
![加餐丨部分課后思考題答案合集_第2頁(yè)](http://file4.renrendoc.com/view/72ec419691540ce752d7f5f0b5721ba8/72ec419691540ce752d7f5f0b5721ba82.gif)
![加餐丨部分課后思考題答案合集_第3頁(yè)](http://file4.renrendoc.com/view/72ec419691540ce752d7f5f0b5721ba8/72ec419691540ce752d7f5f0b5721ba83.gif)
![加餐丨部分課后思考題答案合集_第4頁(yè)](http://file4.renrendoc.com/view/72ec419691540ce752d7f5f0b5721ba8/72ec419691540ce752d7f5f0b5721ba84.gif)
![加餐丨部分課后思考題答案合集_第5頁(yè)](http://file4.renrendoc.com/view/72ec419691540ce752d7f5f0b5721ba8/72ec419691540ce752d7f5f0b5721ba85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多個(gè)不同線程在同一個(gè)智能指針上執(zhí)行原子操作(atomic_load等)是安全的多個(gè)不同線程根據(jù)同一個(gè)智能指針創(chuàng)建新的智能指針(增加計(jì)數(shù))是安全的其他操作潛在是不安全的,特別是在不同的線程對(duì)同一個(gè)智能指針執(zhí)行reset等修改操3為什么smart_ptr::operator對(duì)左值和右值都有效,而且不需要對(duì)等號(hào)兩邊是否答:我們使用值類型而非類型作為形參,這樣實(shí)參會(huì)被移動(dòng)(右值的情況)(左值的情況),不可能和*this同一個(gè)對(duì)象4為什么stack(或queue)的pop函數(shù)返回類void,而不是直接返回容器的top(或front)成員?答:這是C++98里、還沒(méi)有移動(dòng)語(yǔ)義時(shí)的設(shè)計(jì)。如果pop返回元素,而元素拷貝時(shí)發(fā)生異常的話,那這個(gè)元素就丟失了。因而容器設(shè)計(jì)成有分離的top(或front)和pop成員有一種可能的設(shè)計(jì)是把接口改成voidpop(T&),這增T必須支持默認(rèn)構(gòu)造和賦值的要求,在單線程為主的年代沒(méi)有明顯的好處,反而帶來(lái)了對(duì)T的額外要求。5為什么大部分容器都提供了begin、end等方答:容器提供了beginend方法,就意味著是可以迭代(遍歷)的。大部分容器都可以為什么容器沒(méi)有繼承一個(gè)公用的基答:C++是面向?qū)ο蟮恼Z(yǔ)言,尤其在標(biāo)準(zhǔn)容器的設(shè)計(jì)上主要使用值語(yǔ)義,使用公共基類7目前這個(gè)輸入行迭代器的行為,在什么情況下可能導(dǎo)致意料之外的答it!=reader.end();++it)cout<<*it<<16}以上代碼,因?yàn)閎egin多調(diào)用了一次,輸出就少了一答:很。比如,文件如果為空的話,從迭代器的行為角度,begin()應(yīng)該等于10這講里我們沒(méi)有深入討論賦值;請(qǐng)你思考一下,如果例子里改成賦值,會(huì)有什么樣的變vector尾部追加數(shù)據(jù),盡量對(duì)變量進(jìn)行賦值、不后續(xù)修改。這樣的代碼更容易推11為什么說(shuō)UTF-32處理會(huì)比較簡(jiǎn)單答:UTF-32,一個(gè)字符就是一個(gè)基本的處理單位,一般不會(huì)出現(xiàn)一個(gè)字符跨多個(gè)處理單位的情況(UTF-8和UTF-16下會(huì)發(fā)生)。你知道什么情況下UTF-32也并不那么簡(jiǎn)單Unicode下有所謂的修飾字符,用來(lái)修飾前一個(gè)字符。按UnicodeUTF-2下也不可以在任意單位處粗暴斷開(kāi)處理。哪種UTF編碼方式空間效率比較高答:視的內(nèi)容而定比如,如果內(nèi)容以ASCII為主(如源代碼),那UTF-8效率最高。如果內(nèi)容以一般的中文文本為主,那UTF-16效率最高。12為什么并非所有的語(yǔ)言都支持這些不同的多Python例,它是動(dòng)態(tài)類型的語(yǔ)言。所以它不會(huì)有真正的靜態(tài)多態(tài)。但和靜態(tài)類型的面向?qū)ο笳Z(yǔ)言(如Java)不同,它的運(yùn)行期多態(tài)不需要繼承。沒(méi)有參數(shù)化多態(tài)初看是個(gè)缺陷,但Python動(dòng)態(tài)參數(shù)系統(tǒng)允許默認(rèn)參數(shù)和可變參數(shù),并沒(méi)有什么參數(shù)化多態(tài)能做得到而Python做不到的事。17想,你如何可以實(shí)現(xiàn)一個(gè)惰性的過(guò)濾器答代1#include 23usingnamespace4 te<typenameI,typenameclassfilter_viewclass tortypedeftypename I>::value_typetypename I>::pointertypename I>::referencetypedef tor(Icurrent,Iend,F:,, if(current_!=end_!cond_(*current_)) tor&{while(current_!=end_)if{}}return} tor{autotemp=return}referenceoperator*(){return}pointeroperator->(){return}booloperator==(const {returncurrent_==}booloperator!=(const tor&{return}IIFfilter_view(Ibegin,IF:,, torbegin(){return tor(begin_,end_,} torend() return tor(end_,end_, Ibegin_;IIbegin_;Iend_;Fcond_;我展示了compose帶一個(gè)或參數(shù)的情況。你覺(jué)得compose不帶任何參數(shù)該如何定答代代inlineauto{return[](auto&&x)->{return 7這個(gè)函數(shù)把參數(shù)原封不動(dòng)地傳回。它的意義相當(dāng)于加法里的0,乘法里的1在普通的加法里,你可能不太需要0;但在一個(gè)做加法的地方,如果別人想告訴你不要做任何操作,傳給你一個(gè)0是最簡(jiǎn)單的做法。有沒(méi)有可能不用index_sequence來(lái)初始化bit_count?如果行,應(yīng)該如何實(shí)現(xiàn)答:似乎沒(méi)有通用的辦法,因?yàn)槟壳癱onstexpr要求在構(gòu)造時(shí)直接初始化對(duì)象的內(nèi)但是C++20,允許constexpr象里存在平凡默認(rèn)構(gòu)造的成員之后,就可以使用下代代12te<size_tstructbit_count_tconstexprconstexpr{for(autoi=0U;i<N;{count[i]=}}unsignedchar3456789constexprconstexpr{for(autoi=0U;i<N;{count[i]=}}unsignedchar3456789作為一個(gè),你能自行實(shí)現(xiàn)出make_integer_sequence嗎答代代123456789te<classT,T...structinteger_sequencete<classstruct{te<TN,T...structinteger_sequence_helper{usingtype=typenameinteger_sequence_helper<N-1,N-1,te<T...structinteger_sequence_helper<0,Ints...>{usingtype=integer_sequence<T,Ints...>;te<classT,Tusingmake_integer_sequencetypenamete如果一開(kāi)始寫成tem te<classT,TN,T...Ints>structinteger_sequence_helper的話,就會(huì)遇到錯(cuò)誤“non-typetemteargumentspecializesatemteparameterwithdependenttype‘T’”(非類型的模板實(shí)參特化了一個(gè)使用依賴類型的‘T’的模板形參)。這是目前的C++標(biāo)準(zhǔn)所不允許的寫法,改答9T,}elsereturnT,N-1,N-1,14}這又是一個(gè)constexpr能簡(jiǎn)化表達(dá)的例子19并發(fā)編程中哪些情況下會(huì)發(fā)生死答:多個(gè)線程里,如果沒(méi)有或不能事先約定順序,同時(shí)進(jìn)行可阻塞的資源,順可阻塞的資源可能包括(但不限于互斥量上的lock調(diào)用條件變量上的wait調(diào)用對(duì)線程的join調(diào)用future的get調(diào)27你覺(jué)得C++RESTSDK接口好用嗎?如果好用,原因是什么?如果不好用,你有什么樣答:舉幾個(gè)可能的改進(jìn)點(diǎn)C++RESTSDK的uri::decode接口設(shè)計(jì)有不少問(wèn)題最嚴(yán)重的,不能對(duì)querystring的等號(hào)左邊的部分進(jìn)行decode;只能先split_querydecode,此時(shí)等號(hào)左邊已經(jīng)在map里,不能修改——要修改需要建一個(gè)新的map。目前的實(shí)現(xiàn)對(duì)“+”不能重新還原成空格換個(gè)說(shuō)法,目前的接口能正確處理“/serq=query%string”ser%=qutring”這樣的請(qǐng)求。應(yīng)當(dāng)有一個(gè)split_query_and_decode接口,同時(shí)執(zhí)行分割和另外,json的接口也還是不夠好用,最主要是沒(méi)有使用初始化列表的構(gòu)造。構(gòu)造復(fù)雜JSON結(jié)構(gòu)有點(diǎn)啰嗦了fstream::open_ostream缺省行為跟std::ofstream不一樣應(yīng)該是個(gè)bug。應(yīng)當(dāng)要么修正接口(接口缺省參數(shù)里帶上trunc),要么修正實(shí)現(xiàn)(跟std::ofstream一樣把out當(dāng)成out|trunc)。28“概念”可以為開(kāi)發(fā)具體帶來(lái)哪些好處?反過(guò)來(lái),的影響又可能會(huì)是什么SFINAE使用,還能以較為精確和形式化的形式在代碼里寫出對(duì)類型的要求,使得代碼變可、、前置+與sentl類型對(duì)象的=(單一形式)。而為了滿足迭代器概念,則要額外確保滿足以下各點(diǎn):可默認(rèn)初始在i tor類型和sentin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- OVA-PEG-Cy3-生命科學(xué)試劑-MCE-7080
- JCS-1-生命科學(xué)試劑-MCE-4278
- 二零二五年度廠房物業(yè)管理與員工食堂運(yùn)營(yíng)合同
- 2025年度股權(quán)融資協(xié)議書范本
- 2025年度文化產(chǎn)業(yè)過(guò)橋墊資合作協(xié)議書
- 二零二五年度稅務(wù)籌劃與稅務(wù)籌劃財(cái)務(wù)解決方案合同
- 2025年度全屋智能家居裝修質(zhì)保服務(wù)合同模板
- 施工現(xiàn)場(chǎng)施工防自然災(zāi)害侵襲威脅制度
- 醫(yī)療護(hù)理醫(yī)學(xué)培訓(xùn) 小學(xué)二年級(jí)健康課課件
- DB 3705T 49-2024黃河口灘區(qū)肉羊疫病防控技術(shù)規(guī)范
- 中小學(xué)教師師德師風(fēng)法律法規(guī)培訓(xùn)
- 實(shí)驗(yàn)用溶液的配制課件
- 醫(yī)療器械質(zhì)量管理體系文件模板
- 秦始皇嬴政人物生平介紹PPT
- 在馬克思墓前的講話說(shuō)課稿公開(kāi)課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 骨科無(wú)痛病房的建立
- 送養(yǎng)收養(yǎng)合同協(xié)議書
- 塑料成型模具設(shè)計(jì)(第2版)江昌勇課件0-導(dǎo)論
- 漢語(yǔ)拼音發(fā)音口型及配圖
- 績(jī)效考核管理醫(yī)院績(jī)效分配方案包括實(shí)施細(xì)則考核表
- 大學(xué)成績(jī)單(大專)
評(píng)論
0/150
提交評(píng)論