今天我进入了这段代码片段:
classdef (Enumeration,Sealed) ClassBlabla < int8
enumeration
ALPHA(0)
BETA(1)
GAMMA(2)
end
methods (static)
function ret = doSomething()
ret = containers.Map(.......)
for i = int32(ClassBlabla.ALPHA):int32(ClassBlabla.GAMMA)
ret(i) = somethingelse(blablabla(i))
end
end
end
end
那个int32(…)是什么?演员?为什么我要转换为int32?不是ALPHA已经0而GAMMA已经是2 ??
最佳答案 这是为了扩大从int8到int32的ALPHA和GAMMA值.很可能,那是因为blablabla()函数需要int32输入,或者ret值应该具有int32键. ALPHA和GAMMA已经是0和2,但是它们是int8而不是int32,而blablabla()或doSomething()的客户端可能无法很好地使用int8值. (你可以告诉ALPHA和GAMMA是int8,因为ClasBlabla< int8在顶部.)