Kri*_*dra 2 c++ syntax declaration
我只是通过谷歌查看非本地均值算法的实现(感谢谷歌的代码搜索)并遇到了这个函数镜像。
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;
}
Run Code Online (Sandbox Code Playgroud)
我感兴趣的线路是这个
const int32 alpha(src%size);
Run Code Online (Sandbox Code Playgroud)
现在这里的 alpha 是什么?函数还是变量?这个语法是什么意思?这是变量声明吗?
这是一个变量声明。表格声明:
type variablename = value;
Run Code Online (Sandbox Code Playgroud)
本质上等同于:
type variablename(value);
Run Code Online (Sandbox Code Playgroud)
无论是什么type- 无论是用户定义的类还是内置类型,情况都是如此。请注意,情况并非总是相反 -=语法要求有一个可访问的复制构造函数。
出于类似的原因,您可以使用构造函数语法强制转换算术类型,如下所示: x = int(42.0);