问题描述
- qt中函数参数类型不同也能实现其功能?
图中data为QByteArray类型,而函数原型为const char类型,broadcast为枚举类型,而函数原型为hostaddress类型。为什么不同也能够实现其功能呢?
解决方案
这里发生了隐式类型转换
QString raw_string = ""haasd123ha""; QByteArray byte_instrument = raw_string.toLocal8Bit(); const char *char_instrument = byte_instrument; //打印出来发现一样
QByteArray自动的保证“最后一个字节之后的那个位”是''。这就使得QByteArray可以很容易的转换成const char *
调用QByteArray类上面的data()或者constData()函数,仅仅是获得QByteArray内部的一个const char*类型的字符串,从而我们不需要担心内存泄漏等的问题
解决方案二:
这个叫函数的重载,不同的参数传入实现的方式也不同而已
解决方案三:
函数的重载,不同的参数传入实现的方式也不同,好好理解下
时间: 2024-11-03 16:45:38