USES_CONVERSION的使用和注意

    USES_CONVERSION是用来转换类型的,比如我们很常见的问题:

    在Socket编程时候,我们的IP地址从界面上输进去一般都使用CString类型的,可是在SOCKADDR_IN中的inet_addr却是const char *我们就不能直接用CString来用。我们就可以使用T2A()宏了。

    SOCKADDR_IN localaddr;   

    CString m_IP = L"192.168.1.2";

    USES_CONVERSION;
    localaddr.sin_family = AF_INET;
    localaddr.sin_addr.S_un.S_addr = inet_addr(T2A(m_IP));

 

当然使用USES_CONVERSION也是要注意一个很重要的问题。

   USES_CONVERSION它是在堆栈上分配空间的,也就是说你在你在函数未结束就不会被释放掉。所有要注意不要在一个函数中用while循环执行它,不然栈空间就马上会分配完(栈空间一般只有2M,很小)。

原文地址:https://www.cnblogs.com/huhu0013/p/3949643.html