int *p1 = new int[10];
int *p2 = new int[10]();
p1和p2申请的空间里面的值都是随机值
p1和p2申请的空间里的值都已经初始化
p1申请的空间里的值是随机值,p2申请的空间里的值已经初始化
p1申请的空间里的值已经初始化,p2申请的空间里的值是随机值
解析:p1指向字符型,一次移动一个字符型,1个字节;p1对于内置类型而言,new仅仅是分配内存,除非后面显示加(),相当于调用它的构造函数,
对于自定义类型而言,只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化,即使后面没有加()
下面的程序可以从0....n-1中随机等概率的输出m个不重复的数。这里我们假设n远大于m
knuth(int n, int m)
{
srand((unsigned int)time(0));
for (int i = 0; i < n; i++) {
if ( ) {
cout << i << endl;
( );
}
}
}
rand()%(n-i)<=m