C++ Primer plus 第12章类和动态内存分配复习题参考答案
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer plus 第12章类和动态内存分配复习题参考答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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章类和动态内存分配复习题参考答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我发起了一个 用 物理服务器 和 .Ne
- 下一篇: 如何仅用递归函数和栈操作逆序一个栈