評價: 0 回應: 0 閱覽: 83
置頂

指標初使化

int *iArray=new int[100];
memset(iArray,0,sizeof(int)*100);
這樣就可以完成了iArray清0的工作
可是如果我希望每個整int都為-1呢?
memset好像是以每個位元組做為間隔為單位的好像不行?
for(int i=0;i<100;i++)
{
        iArray[i]=-1;
}
感覺這樣寫又有點麻煩
後來有想了一下
int iTemp[]={-1,-1,-1};
iArray=iTemp;
發現是可以的但是只能用在長度不高的地方
而且因為是靜態宣告離開函式應該就自動釋放了
int *iArray[]={new int(-1),new int(-1),new int(-1)};
這樣寫是有解決了靜態宣告的缺點
但是這樣寫也只能在長度不高的地方而且基本宣告已經不同了

不知道有沒有更好的寫法??

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言