我需要一个地址char*作为参数,可能还用到了strncpy,在结束的时候delete
char *desip = new char[LENGTH];
strncpy(desip , srcIp, LENGTH);
....
....
delete ip;
不安全的地方在于new可能失败,delete可能被忘记。
使用智能指针代替:
std::unique_ptr<char> desip (new char[LENGTH]);
strncpy(desip.get() , srcIp, LENGTH);
....
....
RAII原理会在函数结束后自动释放内存。