2017-08-26 57 views
12

Jestem nowy w C++, widzę następującą składnię w C++, aby zainicjować zmienną.Co oznacza "int (i) = 1;"?

int(i)=1; 

Następnie skompilowałem kompilator G ++, a kompilator nie dał żadnego błędu ani ostrzeżenia.

Tak, Co oznacza int(i)=1; w językach C i C++?

Ponadto, testowałem w C, myślałem, że kompilator C daje błąd, ale działa również bez zarzutu.

+1

dlaczego dodasz znacznik [tag: c]? C i C++ są bardzo różnymi językami –

+1

@ LưuVĩnhPhúc Ponieważ działa również dobrze w C. –

+0

@Mahendra Niemniej jednak, coś działa w obu językach * może * mieć bardzo różne zachowanie i powody. W tym przypadku wszystko jest w porządku, ale pamiętaj, że są naprawdę różne. – deviantfan

Odpowiedz

15

Jest to w zasadzie dziwny sposób pisać

int i = 1; 

nic się martwić.

Czasami nawias wokół nazwy zmiennej jest niezbędny w definicjach (np. Wskaźnik do funkcji), i nie ma powodu, aby zakazać ich w innych przypadkach, więc jest to dopuszczalne bez głębszego powodu.
Maythe autor nie lubił spacji (tacy ludzie istnieją).

+1

'(tacy ludzie istnieją)' Słowo, którego szukasz, to "golfistów kodu". –

+7

FWiW, 'int i = 1' jest krótszy niż' int (i) = 1' –

+0

@SilvioMayolo Szukałem czegoś bardziej obraźliwego, czego nie chciałem przeliterować ... kod golfa jest w porządku, ale nie dla praca itp – deviantfan