图中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*类型的字符串,从而我们不需要担心内存泄漏等的问题
这个叫函数的重载,不同的参数传入实现的方式也不同而已
函数的重载,不同的参数传入实现的方式也不同,好好理解下