为什么输出的时候报错不能运行但是给c赋了初值就能运行了。
还有想问一下c++为什么整形定义不赋值很危险
在看项目代码的时候看到这个类发现其功能很简单,就是一个整型变量的类型出于好奇看了其类定义。
源码非常简单结合其他人的博客,基本可以了解到AtomicInteger类是一个提供原子操作的Integer类
普通的整型类如int和Integer类,在++i/i++等操作并不是线程整型安全吗的在并发环境下容易出现脏数据。
AtomicInteger使用了volatile关键字进行修饰使得该类可以满足线程整型安全吗。
为什么输出的时候报错不能运行但是给c赋了初值就能运行了。
还有想问一下c++为什么整形定义不赋值很危险
只定义整形里面的值是内存中的随机值
第一点,由于它是随機的然后你又做了一些运算,这就导致你不知道运算结果是什么甚至会溢出;
第二点,由于它是内存的原始数据如果仅定义,它里媔的值就会是以前的值这就容易引起数据泄露,如果一个不良软件定义了很多数据然后不附初值直接读取,然后对数据分析有可能嘚到一些重要数据
所以一些编译器会出于整型安全吗考虑必须赋初值,但是也有些编译器不赋初值仅仅会有警告但不会报错
你对这个回答的评价是?
变量先定义后使用先赋值后使用。
你对这个回答的评价是