Redian新闻
>
这个c++ static var 很有意思
avatar
这个c++ static var 很有意思# Programming - 葵花宝典
d*n
1
F1-NR免利息税,是指federal的利息税而已么?州税的话是file 1040表,这部分利息
是要算进收入一起算税的么?
看来$1000的州税exemption不够用了,都是该死的citi把thank you point算成几百刀
的1099misc,害我所有利息和类利息超过1000刀了。。。
avatar
c*n
2
class blah{
}
void fun() {
static blah myblah;
}
int main(int argc,char** argv) {
fun();
fun();
return 0;
}
你可以用g++ -S -o out.S mycode.cc
看看输出的assembly, compiler 自己生成了一个var 记录static var myblah 有否被
initialized 过
avatar
c*e
3
citi把thank you point算成几百刀 的1099misc???
Why I didn;t receive it? does everybody get it?
avatar
X*r
4
因为C++规定局部静态非POD变量必须在控制第一次进入这个函数初始化。

【在 c******n 的大作中提到】
: class blah{
: }
: void fun() {
: static blah myblah;
: }
: int main(int argc,char** argv) {
: fun();
: fun();
: return 0;
: }

avatar
z*e
5
红猪侠的semantics是越来越高级了。
我理解,这个编译器自动生成的记录,也是以后“条件析构”conditional
destruction 的依据。
很久以前不是所有全局静态都要在startup时候初始化么?但是C++有了lazy
evaluation 机制,就能initialize on invocation.这条记录,就是析构的时候看用不
用析构。

【在 X****r 的大作中提到】
: 因为C++规定局部静态非POD变量必须在控制第一次进入这个函数初始化。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。