程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-qt中函數參數類型不同也能實現其功能?

c++-qt中函數參數類型不同也能實現其功能?

編輯:編程解疑
qt中函數參數類型不同也能實現其功能?

圖片說明
圖中data為QByteArray類型,而函數原型為const char類型,broadcast為枚舉類型,而函數原型為hostaddress類型。為什麼不同也能夠實現其功能呢?圖片說明

最佳回答:


這裡發生了隱式類型轉換

 QString raw_string = "haasd123ha";
 QByteArray byte_instrument = raw_string.toLocal8Bit();
 const char *char_instrument = byte_instrument;  //打印出來發現一樣

QByteArray自動的保證“最後一個字節之後的那個位”是'\0'。這就使得QByteArray可以很容易的轉換成const char *
調用QByteArray類上面的data()或者constData()函數,僅僅是獲得QByteArray內部的一個const char*類型的字符串,從而我們不需要擔心內存洩漏等的問題

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved