0
我很難理解下面的代碼buffer[i] = arr ? arr[i] : 0;
。 這是否意味着如果arr
包含任何東西,那麼它等於buffer[i]
,如果它不等於0
?賦值運算符和條件語句
#include <iostream>
using namespace std;
int main()
{
int arr[5]={11,22,33,44,55};
int * buffer;
buffer = new int [5];
for(int i=0;i<5;i++){
buffer[i] = arr ? arr[i] : 0;//true/falls
cout<<buffer[i]<<",";
}
cout<<endl;
int arr2[5]={};
int * buffer2;
buffer2 = new int [5];
for(int i=0;i<5;i++){
buffer2[i] = arr2 ? arr2[i] : 0;//true/falls
cout<<buffer2[i]<<",";
}
cout<<endl;
}
你是什麼意思代碼可能已被移植 –
如果是int * arr = new int [5],檢查會有意義。 。 – James
所以如果我加這個int * p = arr;它有道理 –