第十八章 18 2 3節練習

2021-06-26 05:41:02 字數 470 閱讀 3697

練習18.18

已知遊俠面的swap的典型定義(參見13.3節,第457頁),當mem1是乙個string時程式使用swap的哪個版本?如果mem1是int呢?說明在這兩種情況下名字查詢的過程。

void swap(t v1, t v2)
解答:

這裡典型定義應該指的是有乙個專為string交換而建立的swap函式。

程式會找到這個典型定義,然後使用它對兩個string進行交換。

當mem1為int時,在std空間中沒有專為int型別交換存在的swap函式,這個時候就會呼叫algorithm中的模板函式,來進行交換操作。

練習18.19

如果對swap的呼叫形如std::swap(v1.mem1, v2.mem1)將會發生什麼情況?

解答:這樣的話,無論什麼情況都會呼叫std空間中的swap函式。

而不會使用其他swap對兩個元素進行交換操作。

第十八章 18 3 3節練習

struct base1 struct base2 struct derived public base1 struct mi public derived,public base2 練習18.26 已知如上所示的繼承體系,下面對print的呼叫為什麼是錯誤的?適當修改mi,令其對print的呼叫可...

第十八章 B樹

施工中施工中 基本操作主要包括 搜尋b樹,建立空b樹,插入關鍵字。18.3放出刪除關鍵字的 class program region 磁碟操作 為結點初始化對應的磁碟頁 private static node t allocate node t 磁碟寫操作 private static void d...

第十八章 定製特性

目錄 18.1 使用定製特性 18.2 定義自己的特性類 18.3 特性構造器和字段 屬性資料型別 18.4 檢測定製特性 18.5 兩個特性例項的相互匹配 18.6 檢測定製特性時不建立從attribute派生的物件 18.7 條件特性類 定製特性 利用定製特性,可宣告式地為自己的 構造新增註解來...