Premettiamo che lo snippet è C, non C++. In C++ questa roba assurda non serve, perché hai l'ereditarietà già implementata.
Il C++ è un linguaggio enorme, complesso e in continua evoluzione. Io ho imparato davvero il C++ con il C++98. Poi ho imparato il C++11.
Se mi chiedi di programmare in C++14/17 mi trovi in seria difficoltà.
Ricorda che non solo il C e il C++ sono linguaggi completamente diversi, ma che anche al loro interno ci sono differenze enormi. C++98 e C++17 sono enormemente distanti. Oppure prova a guardare le proposte per il C++20.
C++20 is the informal name for the revision of the ISO/IEC standard for the C++ programming language expected to follow C++17.
The C++ Standards Committee began planning C++20 in July 2017. The current draft is N4750.Below is a partial list of changes that have been proposed or discussed for inclusion into C++20.
Ma infatti più che imparato avrei dovuto scrivere "aver confidenza".
Non credo che imparerò mai, in modo soddisfacente, un linguaggio di programmazione fino ad almeno la laurea magistrale. Ora tutto ciò che studio è in Java, ma scemo io la tesi l'ho voluta fare in C++ senza averlo mai studiato.
O magari in estate mi leggo il Stroustrup. Magari...
7
u/srandtimenull Jul 11 '18
Innanzitutto, mettiamolo in verbatim che mi fanno male gli occhi
1
viene castato apippo
(e non ne capisco il motivo, tanto ha lo stesso valore in bit sia comeint
che comeunsigned int
).Quindi, fa l'and bit a bit tra
x
e000...001
, ovvero, ritorna1
se l'LSB dix
è1
, altrimenti ritorna0
.Non capisco perché non sia stato scritto semplicemente
che otterrebbe lo stesso identico effetto (e
probabilmentesicuramente lo stesso assembly).