首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 字串類實作:輸出首字元而非完整字串的指標解引用錯誤

     編輯:程式設計綜合問答

錯誤現象

自訂 String 類別建構函式中,使用 cout << *m_data 輸出,結果僅顯示字串第一個字元。

原因分析

m_data 為 char* 指向字串首地址,*m_data 解引用得到首字元 char,而非整個字串。應直接輸出指標 m_data 或使用 std::string。

修正代碼

// 建構函式
cout << m_data << " constructing!" << endl; // 輸出完整字串
// 複製建構函式
cout << m_data << " copy constructing!" << endl;
// 解構函式
cout << m_data << " destructing!" << endl;

或改用 std::cout.write(m_data, len) 精確控制長度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved