我只是通过谷歌(通过谷歌搜索代码搜索)查看非本地均值算法的实现,并遇到了这个函数镜像。
template<typename T,typename U,bool N>
inline int
boundaryExpansion::helperBase<T,U,N>::mirror(const int src,
const int size,
const int last) const {
const int32 alpha(src%size);
if (alpha>=0) {
return (((src/size) & 0x00000001) != 0) ? last-alpha : alpha;
}
return (((src/size) & 0x00000001) == 0) ? -alpha-1 : size+alpha;
}
我感兴趣的是这个
const int32 alpha(src%size);
现在阿尔法在这里是什么?一个函数还是一个变量?这个语法意味着什么?这是变量声明吗?
答案 0 :(得分:4)
这是一个变量声明。表格声明:
type variablename = value;
基本上相当于:
type variablename(value);
无论type
是什么,都是这种情况 - 无论是用户定义的类还是内置类型。请注意,反之并非总是如此 - =
语法要求存在可访问的复制构造函数。
出于类似的原因,您可以使用构造函数语法来转换算术类型,如:x = int(42.0);
答案 1 :(得分:3)
这是一个变量声明,它等同于:
const int32 alpha = src%size;