C++ Primer Plus第十六章復習題

1、考慮下面的 類聲明

class RQ1
{
private:char * st;
public:RQ1(){st = new char [1]; strcpy(st,"");}RQ1(const RQ1 & rq){st = new char [strlen(rq.st)+1]; strcpy(st,rq.st);}~RQ1(){delete [] st};RQ & OPERATOR = (cosnt RQ &rq);
};

?將它轉換為使用string對象的聲明。那些方法不再需要顯示定義?

答:

#include <string>
using namespace std;
class RQ1
{
private:string st;
public:RQ1() :st(""){}RQ1 (const char * s): st(s){}~RQ1() {};
};
不再需要顯式復制構造函數、析構程序和賦值運算符,因為string對象提供了自己的內存管理功能。

2、在易于使用方面,指出string對象至少兩個優于C-風格字符串的地方。

答:可以將一個string對象賦給另一個。string對象提供了自己的內存管理功能,所以一般不需要擔心字符串超出存儲容量。

3、編寫一個函數,用string對象作為參數,將string對象轉換為全部大寫。

答:

#include <string>
#include <cctype>
using namespace std;
void ToUpper(string & str)
{
for (int i = 0; i < str.size(); i++)str[i] = toupper(str[i]);
}

4、從概念上或語法上說,下面哪個不是正確使用auto_ptr的方法?

auto_ptr<int> pia(new int [20]);
auto_ptr<string>(new string);
int rigue = 7;
auto_ptr<int>pr(&rigue);
auto_ptr db1 (new double);

答:

auto_ptr<int> pia= new int [20];// wrong,use with new,not new []
auto_ptr<string>(new string); // wrong,no name for pointer
int rigue = 7;
auto_ptr<int> (&rigue);// wrong,memory not allocated by new
auto _ptr dbl (new double);// wrong,omits <double>

5、如果可以生成一個存儲高爾夫球棍(而不是數字)的棧,為何它(從概念上說)是一個壞的高爾夫袋子?

答:棧的LIFO特征意味著可能必須在到達所需要的球棍(club之前刪除很多球棍。

6、為什么說對于逐洞記錄高爾夫成績來說,set容器是糟糕的選擇?

答:集合將只存儲每個值的一個鉑貝,因此,5個5分將被存儲為1個5分。

7、既然指針是一個迭代器,為什么STL設計人員為沒有簡單的使用指針來代替迭代器呢?

?答:使用迭代器使得能夠使用接口類似于指針的對象遍歷不以數組方式組織的數據,如雙向鏈表中的數據。

8、為什么STL設計人員僅定義了迭代器基類,而使用繼承來派生其他迭代器類型的類,并根據這些迭代器類來表示算法?

答:STL 方法使得可以將STL 函數用于指向常規數組的常規指針以及指向STL容器類的迭代器,因此提高了通用性。??

9、給出vector對象比常規數組方便的3個例子。

?答:可以將一個vector對象賦給另一個。vector管理自己的內存,
因此可以將元素插入到矢量中,并讓它自動調整長度。使用at()方法,可以自動檢查邊界。

10、如果程序清單時使用list而不是vector實現的 ,則該程序的哪些部分是非法的?非法部分能夠輕松修復嗎?如果可以,如何修復呢?

答:這兩個vector函數和random_shuffle()函數要求隨機訪問迭代器,而list對象只有雙向迭代器。可以使用 list模板類的sort( )成員函數(參見附錄G),而不是通用函數來排序,但沒有與random_shuffe()等效的成員函數。然而,可以將鏈表復制到矢量中,然后打亂矢量,并將結果重新復制到鏈表中。

11、如果程序清單所示的函數符TooBig,下面的代碼有何功能?賦給bo的是什么值?

bool bo = TooBig<int>(10)(15);

答:

  1. 使用?10?作為參數實例化?Comparator<int>?類型的對象。
  2. 使用?15?調用該對象的?operator(),并返回結果(false,因為?10?不大于?15)。
  3. 將返回的結果(false)賦值給?bool?類型的變量?bo

所以,賦給?bo?的值是?false

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13989.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13989.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13989.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java技術深度解析:高級面試問題與精粹答案(一)

Java 面試問題及答案 問題1&#xff1a;請解釋什么是Java虛擬機&#xff08;JVM&#xff09;以及它的作用是什么&#xff1f; 答案1&#xff1a; Java虛擬機&#xff08;JVM&#xff09;是一個可以執行Java字節碼的虛擬計算機。它是一個抽象的計算機&#xff0c;能夠通過軟件…

【筆記】樹(Tree)

一、樹的基本概念 1、樹的簡介 之前我們都是在談論一對一的線性數據結構&#xff0c;可現實中也有很多一對多的情況需要處理&#xff0c;所以我們就需要一種能實現一對多的數據結構--“樹”。 2、樹的定義 樹&#xff08;Tree&#xff09;是一種非線性的數據結構&#xff0…

作物水文模型AquaCrop---用于評估作物對水的需求、灌溉計劃和管理策略

AquaCrop是由世界糧食及農業組織&#xff08;FAO&#xff09;開發的一個先進模型&#xff0c;旨在研究和優化農作物的水分生產效率。這個模型在全球范圍內被廣泛應用于農業水管理&#xff0c;特別是在制定農作物灌溉計劃和應對水資源限制方面顯示出其強大的實用性。AquaCrop 不…

如何在海豚調度器自動監測報表是否跑出數據

在數據倉庫報表開發時,有的報表依賴的表多,雖然在海豚調度任務上是跑成功,但實際上沒有跑出數據來。開發人員負責的任務和表越來越多,每天去手動檢查費時費力,不去理睬默認是成功的,等到業務或產品發現問題時,又給人一種不專業不負責的感覺。 比較好的方式是用代碼進行自…

Python知識點復習

文章目錄 Input & OutputVariables & Data typesPython字符串重復&#xff08;字符串乘法&#xff09;字符串和數字連接在一起print時&#xff0c;要強制類型轉換int為str用input()得到的用戶輸入&#xff0c;是str類型&#xff0c;如果要以int形式計算的話&#xff0c…

SkyWalking 介紹及部署

1、SkyWalking簡介2、SkyWalking的搭建 2.1 部署Elasticsearch2.2 部署SkyWalking-Server2.3 部署SkyWalking-UI3、應用接入 3.1 jar包部署方式3.2 dockerfile方式3.3 DockerFile示例4、SkyWalking UI 界面說明 4.1 儀表盤 4.1.1 APM &#xff08;1&#xff09;全局維度&#x…

UBUNTU22.04無法安裝nvidia-driver-550 依賴于 nvidia-dkms-550 (<= 550.54.15-1)

類似的報錯信息&#xff0c;就是卡在了nvidia-dkms-550無法安裝 Loading new nvidia-550.40.07 DKMS files… Building for 6.5.0-15-generic Building for architecture x86_64 Building initial module for 6.5.0-15-generic ERROR: Cannot create report: [Errno 17] File e…

前端canvas項目實戰——在線圖文編輯器(十):小地圖MiniMap(上)

目錄 前言一、 效果展示二、 實現步驟0. 行動前的思考1. 為小地圖更新「背景圖」2. 為小地圖更新「滑動窗口」2.1 獲取新的滑動窗口「寬高」2.2 獲取新的滑動窗口「位置」3. 為小地圖更新「遮罩」后記前言 上一篇博文中,我們引入了「邏輯畫布」的概念,讓整個工具的頁面看起來…

JPA 3萬字面試寶典

目錄 什么是JPA? JPA和Hibernate有什么區別? 什么是ORM(對象關系映射)? 什么是Entity?

【機器學習】在電子商務(淘*拼*京*—>抖)的應用分析

機器學習與大模型&#xff1a;電子商務的新引擎 一、電子商務的變革與挑戰二、機器學習與大模型的崛起三、機器學習與大模型在電子商務中的應用實踐個性化推薦精準營銷智能客服庫存管理與商品定價 四、總結與展望 隨著互聯網的飛速發展&#xff0c;電子商務已經成為我們生活中不…

NDIS小端口驅動(四)

NDIS中斷相關 1. 注冊和取消注冊中斷&#xff1a; 微型端口驅動程序調用 NdisMRegisterInterruptEx 來注冊中斷。 驅動程序分配并初始化 NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 結構&#xff0c;以指定中斷特征和函數入口點&#xff0c;驅動程序將結構傳遞給 NdisMRegister…

【三劍客和正則表達式】

文章目錄 學習目標一、什么是三劍客1.三劍客grep2.三劍客sed3.三劍客awk4.正則過濾例子15.正則過濾例子2 總結 學習目標 1.學會使用 grep 2.學會使用 sed 3.學會使用 awk 4.學會使用正則表達式一、什么是三劍客 正則三劍客&#xff1a;grep sed awk 1.三劍客grep # 擅長過濾…

【MySQL精通之路】查詢優化器的使用(8)

MySQL通過影響查詢計劃評估方式的系統變量、可切換優化、優化器和索引提示以及優化器成本模型提供優化器控制。 服務器在column_statistics數據字典表中維護有關列值的直方圖統計信息&#xff08;請參閱第10.9.6節“Optimizer統計信息”&#xff09;。與其他數據字典表一樣&am…

#Ethereum 現貨ETF 問題匯總 轉

專題&#xff1a; #Ethereum 現貨ETF 問題匯總&#xff0c;包括了多數小伙伴們的疑問&#xff0c;有任何忽略請留言給我&#xff0c;我會補充。 1. #ETH 現貨ETF何時公布&#xff1f; 一般來說會在北京時間的5月24日凌晨2點至4點之間&#xff0c;不排除稍微延后到凌晨6點的可能…

基于大語言模型的應用

在AI領域&#xff0c;大語言模型已成為備受矚目的焦點&#xff0c;尤其在自然語言處理&#xff08;NLP&#xff09;領域&#xff0c;其應用愈發廣泛。BLM作為一種多任務語言建模方法&#xff0c;旨在構建一個具備多功能的強大模型。在給定文本和查詢條件下&#xff0c;該模型能…

【深度學習】YOLOv8訓練,交通燈目標檢測

文章目錄 一、數據處理二、環境三、訓練 一、數據處理 import traceback import xml.etree.ElementTree as ET import os import shutil import random import cv2 import numpy as np from tqdm import tqdmdef convert_annotation_to_list(xml_filepath, size_width, size_he…

海山數據庫(He3DB)代理ProxySQL使用詳解:(二)功能實測

讀寫分離實測 ProxySQL官方demo演示了三種讀寫分離的方式&#xff1a;使用不同的端口進行讀寫分離、使用正則表達式進行通用的讀寫分離、使用正則和digest進行更智能的讀寫分離。最后一種是針對特定業務進行的優化調整&#xff0c;也可將其歸結為第二種方式&#xff0c;下邊分…

MySQL備份與日志練習

1、創建對mysql數據庫test1的定時備份任務&#xff0c;頻率是每周一的2點 create database test1;crond -e0 2 * * 1 mysqldump -u root -pAdmin123 --databases test1 > /opt/test1.sql2、test1中有t1、t2、t3三張表&#xff0c;要求只備份t2這張表 mysqldump -u root -pA…

Python 機器學習 基礎 之 數據表示與特征工程 【單變量非線性變換 / 自動化特征選擇/利用專家知識】的簡單說明

Python 機器學習 基礎 之 數據表示與特征工程 【單變量非線性變換 / 自動化特征選擇/利用專家知識】的簡單說明 目錄 Python 機器學習 基礎 之 數據表示與特征工程 【單變量非線性變換 / 自動化特征選擇/利用專家知識】的簡單說明 一、簡單介紹 二、單變量非線性變換 三、自…

知識圖譜數據預處理筆記

知識圖譜數據預處理筆記 0. 引言1. 筆記1-1. \的轉義1-2. 特殊符號的清理1-3. 檢查結尾是否正常1-4. 檢查<>是否存在1-5. 兩端空格的清理1-6. 檢查object內容長時是否以<開始 0. 引言 最近學習知識圖譜&#xff0c;發現數據有很多問題&#xff0c;這篇筆記記錄遇到的…