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*类型的字符串,从而我们不需要担心内存泄漏等的问题

这个叫函数的重载,不同的参数传入实现的方式也不同而已

函数的重载,不同的参数传入实现的方式也不同,好好理解下