静态和动态初始化是否仅限于非局部变量应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计416个文字,预计阅读时间需要2分钟。
如何解决静态和动态初始化仅适用于非局部变量吗?这个问题,有很好的办法吗?
这是代码:
cint factorial(int n) { if (n + (从这里被隐藏,因此对我来説,为什么b动态初始化而a静态初始化是有道理的)“
如何解决《静态和动态初始化仅适用于非局部变量吗?》经验,有好办法吗?这是代码:
int factorial(int n){ if ( n <0 ) return -1; //indicates input error else if ( n == 0 ) return 1; else return n * factorial(n-1);}int const a = 10 ; //static initialization //10 is known at compile time. Its 10!int const b = factorial(8); //dynamic initialization //factorial(8) isn't known at compile time, //rather it's computed at runtime.(从这里被盗)
因此,对我来说,为什么b动态初始化并a静态初始化是有道理的.
但是,如果a并且b具有自动存储持续时间(可能已经初始化main()),那么您是否仍可以将其初始化称为静态或动态?因为对我来说,它们听起来像初始化的一般名称,而不是复制初始化.
另外,我已经读过这个,有人可以告诉我为什么他们没有直接解释静态和动态初始化是什么?我的意思是,看起来他们只是解释了他们发生了什么情况,但也许有原因?
cppreference声明初始化器可以调用(一些初始化,比如值初始化等),但是在本文后面,他们提到了静态和动态初始化,就好像这两个是一些初始化的更通用的名称.这可能听起来令人困惑,但在这里我已经说明了我的理解:
(不是最美丽的东西)
本文共计416个文字,预计阅读时间需要2分钟。
如何解决静态和动态初始化仅适用于非局部变量吗?这个问题,有很好的办法吗?
这是代码:
cint factorial(int n) { if (n + (从这里被隐藏,因此对我来説,为什么b动态初始化而a静态初始化是有道理的)“
如何解决《静态和动态初始化仅适用于非局部变量吗?》经验,有好办法吗?这是代码:
int factorial(int n){ if ( n <0 ) return -1; //indicates input error else if ( n == 0 ) return 1; else return n * factorial(n-1);}int const a = 10 ; //static initialization //10 is known at compile time. Its 10!int const b = factorial(8); //dynamic initialization //factorial(8) isn't known at compile time, //rather it's computed at runtime.(从这里被盗)
因此,对我来说,为什么b动态初始化并a静态初始化是有道理的.
但是,如果a并且b具有自动存储持续时间(可能已经初始化main()),那么您是否仍可以将其初始化称为静态或动态?因为对我来说,它们听起来像初始化的一般名称,而不是复制初始化.
另外,我已经读过这个,有人可以告诉我为什么他们没有直接解释静态和动态初始化是什么?我的意思是,看起来他们只是解释了他们发生了什么情况,但也许有原因?
cppreference声明初始化器可以调用(一些初始化,比如值初始化等),但是在本文后面,他们提到了静态和动态初始化,就好像这两个是一些初始化的更通用的名称.这可能听起来令人困惑,但在这里我已经说明了我的理解:
(不是最美丽的东西)

