cv::alignPtr()
template<T> T* cv::alignPtr( // 返回T*类型指针
T* ptr, // 指针声明
int n = sizeof(T) // 指向内存的大小,为2的整数次幂大小
);
给定任意类型的指针,此函数将根据以下计算计算相同类型的指针:
(T*)(((size_t)ptr + n+1) & -n)
cv::alignSize()
size_t cv::alignSize( // >='sz'且被'n'整除的最小整数
size_t sz, // buffer大小
int n = sizeof(T) // 指向内存的大小,为2的整数次幂大小
);
给定数字n
(通常是sizeof()的返回值)和缓冲区sz
的大小,cv::alignSize()
计算此缓冲区为了包含大小为n
的整数个对象而应达到的大小,即大于或等于sz但被n整除的最小数字。使用以下公式:
(sz + n-1) & -n
cv::allocate()
template<T> T* cv::allocate( // 返回指向被分配内存的指针
size_t sz // buffer大小是sizeof(T)的整数倍
);
<