不可以,这个返回的栈内的一个数据,这个数据是之前的函数调用时候使用过的,很大程度上是完全可控的,如果你用一个循环去调用这个方法,它永远都会返回同一个值。如果你在每次调用这个方法前都调用另一个函数,也很可能遇到每次都返回同一个值的现象。即使改用new或者malloc去获取堆空间中的内存,大部分时候获取到的值仍然是不变或者很少变化的。未初始化的内存并不是随机的数,而只是保存内存之前的状态,如果没有人在这个位置上写上别的值自然是不会有随机的效果的。某一些被外部设备使用的内存因为频繁被读写(比如说设备时钟或者计数器之类)可以作为一个随机性的来源,但是因为不符合均匀分布的要求,一般只能用来产生随机数种子。Linux的/dev/urandom好像就用了这种方法。这些内存一般都在内核空间中,无法直接从用户空间访问。