日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C++ Primer plus 第12章类和动态内存分配复习题参考答案

發布時間:2025/5/22 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Primer plus 第12章类和动态内存分配复习题参考答案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 假設String類有如下私有成員
  • class String { private:char* str; //points to string allocated by newint len; //holds length of string//... };

    a.下述默認構造函數有什么問題?

    String::String(){}

    沒有為str和len指定默認值,比較將str設置為nullptr。

    b.下述構造函數有什么問題?

    String::String(const char* s) {str = s;len = strlen(s) }

    str指向s,可能存在二次釋放的問題;len 應該為strlen(s) + 1.

    c.下述構造有無問題

    String::String(const char* s) {strcpy(str, s);len = strlen(s); }

    沒有為str分配內存,應使用new char[strlen(s) + 1]來分配。

    2.如果定義了一個類,其指針成員使用new進行初始化,請指出可能出現的3個問題以及如何避免。

    • 析構函數里沒有將指針成員釋放
    • 復制和賦值時,直接使用淺復制,導致內存二次釋放
    • 構造函數和析構函數中new和delete不對應。

    總結

    以上是生活随笔為你收集整理的C++ Primer plus 第12章类和动态内存分配复习题参考答案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。