WTF?

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ, рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл?
рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рдЕрд╕рдВрдЧрддрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреА рд╣реИред рдлрд╝реЛрд░рдо рд╕реБрдкрд░-рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рддреНрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдИ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдиреА рд╣реИ -рд╡реЗрд▓-рд╡реЗрдкреНрдЯреНрд░рд╛-рдУрдкреНрдЯрд┐рдХ -рд╡реЗрдлрд╝рдХ ++ред рднрдЧрд╡рд╛рди, рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдпреЗ рд╕рднреА рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдБ рдХрд╣рд╛рдБ рд╣реИрдВ? рдореИрдВ рдмреЗрд╡рдХреВрдл рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рджреЗрдЦрддрд╛ рд╣реВрдБ? рд╢рд╛рдпрдж рдореЗрд░реЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реИ?



рдирд╣реАрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг ALGLIB рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдпрд╣ рдХреЛрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдпрд╣ рдкрд╛рд╕реНрдХрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ C ++, C # рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдиреНрдп рд╡рд┐рднрд┐рдиреНрди рд▓рд╛рднреЛрдВ рдХреЗ рдмреАрдЪ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИред рд╢рд╛рдпрдж, рдХрд┐рд╕реА рддрд░рд╣, рд╣рдо рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдпреБрдХреНрдд рдиреЛрдЯ рд▓рд┐рдЦреЗрдВрдЧреЗред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдЦрдж рдЕрдкрд╡рд╛рдж, рд╢рд╛рдпрдж, рдЕрд╕рдВрдЧрддрд┐ рдХреЛ рдФрд░ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдмрд╕ рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЛред рдореИрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдПрдХ рдЬрдЯрд┐рд▓ рдкреИрдХреЗрдЬ рд▓реЗрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реВрдВред рдореИрдВ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реВрдВред рдпрд╣ рдереЛрдбрд╝рд╛ рджреБрдЦрдж рд╣реИ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдирд╣реАрдВ рдмреЗрдЪ рд╕рдХрддрд╛ рд╣реИред рдУрд╣ рдареАрдХ рд╣реИред рдореИрдВ OpenCOLLADA рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЗрддрд╛ рд╣реВрдВред рдореИрдВ рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВред WTF? рдореБрдЭреЗ рджреВрд╕рд░реЗ рд╢рдмреНрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреЗред рдЖрдк рдЗрди рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ?
struct short2 { short values[2]; short2(short s1, short s2) { values[0] = s1; values[2] = s2; } .... }; struct double2 { double values[2]; double2( double d1, double d2) { values[0]=d1; values[0]=d2; } .... } 

рдкрд╣рд▓реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рд╡реЗ рд╕рд░рдгреА рд╕реЗ рдЪреВрдХ рдЧрдПред рджреВрд╕рд░реЗ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд╛рдЗрди рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдмрджрд▓рдирд╛ рднреВрд▓ рдЧрдПред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдкрд╛рдардХ, рдореИрдВ рддрд╕реНрд╡реАрд░ рдХрд╛ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╡рд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдмрддрд╛рддреА рд╣реИред

WTF

"рдЙрджреНрдзрд╛рд░" рдФрд░ рдЕрдиреНрдп рдбрд┐рдЬрд╛рдЗрдирд░ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ:
 struct ParserString : public UnionString { ParserString() { UnionString::str = 0; UnionString::length = 0; } ParserString(const int& val) { ParserString(); } }; 

рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдп рдПрдХрддрд░рдлрд╛ рд░рд╣рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ред

рднрдЧрд╡рд╛рди, рд╡реЗ рд▓реЛрдЧ рдХрд╣рд╛рдБ рд╣реИрдВ рдЬреЛ рдЕрдкрдиреА рдЖрд╕реНрддреАрди рдКрдкрд░ рдЙрдард╛рддреЗ рд╣реБрдП C ++ 11, lambdas, Boost.Asio, shared_ptr, constexpr, LINQ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдореИрдВ рдХреЛрдб рдореЗрдВ рдХреНрдпреЛрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:
 struct ObjectGroups{ componentList objectGrpCompList; int objectGroupId; short objectGrpColor; void write(FILE* file) const; }* objectGroups; void write(FILE* file) const { size_t size = sizeof(objectGroups)/sizeof(ObjectGroups); for(size_t i=0; i<size; ++i) { objectGroups[i].write(file); if(i+1<size) fprintf(file," "); } } 

рд╣рдордиреЗ рд╕реВрдЪрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдФрд░ 0. рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдЖрдк рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? WTF?

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред
 void write(FILE* file) const { fprintf(file,"%i %i %i %i ", sDivisionCount, tDivisionCount, uDivisionCount, pointCount); size_t size = pointCount*3; for(size_t i; i<size; ++i) { fprintf(file, "%f", points[i]); if(i+1<size) fprintf(file, " "); } } 

рдпрджрд┐ рдЖрдкрдиреЗ рдмрдЧ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ред рдЪрд░ 'i' рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: for (size_t i; i <size; ++ i)ред

рдпрд╣ рд╕рдм рдЖрдкрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред рдЙрд╕реА рд╕рдордп, рдореИрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдИ рдЧрдИ рдереАрдВред рдЗрдирдХрд╛ рд╕реНрдерд╛рди рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдордЬрд╝реЗрджрд╛рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдореИрдВрдиреЗ рдЗрд╕ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпрд╣рд╛рдБ рдкреЛрд╕реНрдЯ рдХреА рд╣реИрдВред рдФрд░ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЕрдЧрд░ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЕрдзрд┐рдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдХреБрдВрдЬреА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред

рд╕реМрднрд╛рдЧреНрдп рдФрд░ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдХреЛрдб!

Source: https://habr.com/ru/post/In195928/


All Articles