函数调用前有"::"符号,什么意思?

struct ifreq ifrf;
::memset(&ifrf,0,sizeof(ifrf));
::strncpy(ifrf.ifr_name, ifr[addrCount].ifr_name, sizeof(ifrf.ifr_name));
theErr = ::ioctl(tempSocket, SIOCGIFFLAGS, (char *) &ifrf);


int tempSocket = ::socket(AF_INET, SOCK_DGRAM, 0);

int theErr = ::WSAIoctl(    tempSocket, SIO_GET_INTERFACE_LIST,
                                inBuffer, kMaxAddrBufferSize,
                                outBuffer, kMaxAddrBufferSize,
                                &theReturnedSize,
                                NULL,
                                NULL);

这些memset,strncpy,ioctl等函数前面都有“::”这样的符号,是什么意思啊?

::表示使用全局函数;
否则优先使用本class定义的同名函数,只有当本class没有定义该函数时,才使用全局函数。

原文地址:https://www.cnblogs.com/leijiangtao/p/4491555.html