我相信我已经理解了,但我只是想确认一下。如果我有两个功能,
function A()
{
const Vector3D vectorA(1.0f);
...
}
function B(float var)
{
const Vector3D vectorB(1.0f + var);
...
}
Run Code Online (Sandbox Code Playgroud)
在 function 的情况下,无论调用多少次A(),都vectorA只会在程序中构造一次A()?我相信编译器隐式声明它是静态的吗?但是在 的情况下B(),vectorB每次函数调用都需要重构吗?
这两个函数每次被调用时都会创建变量。没有隐式静态。一些编译器可能会选择优化,但这不是语言规范的一部分。