c++memcpy函数

代码中的UINT是int,请问这个强制转换有什么作用

void SLIC::Mat2Buffer(const cv::Mat& img, uchar*& buffer)
{
    int sz = img.cols * img.rows;
    if (bufferGray) {
        delete [] bufferGray;
    }
    bufferGray    = new uchar[sz];

    memcpy( bufferGray, (UINT*)img.data, sz*sizeof(uchar) );

主要是为了将img.data转成无符号数,避免在复制时变成带符号的

不清楚img.data是不是重载了类型转换,如果只是简单的数组指针,memcpy时强制转换没有实际意义。

你自己测试一下有没有区别。