Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:fun

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:fun [2010/02/02 20:09] krinkinmuetc:users:fun [2016/08/08 20:53] (current) – ↷ Links adapted because of a move operation kel
Line 69: Line 69:
  
 **Решение** **Решение**
-*(T*) - я немного не уверен в этой конструкции (как я понял, это приведение 0 к типу T*, а потом * это разыменование???), но в целом, (sizeof(f(*(T*)0)) - проверяет размер возвращаемого значения для функции с параметром типа Т, сравнивает с размером типа char, и таким образом, если для Т = А, то (sizeof(f(*(T*)0)) = 1, для T != A, получим (sizeof(f(*(T*)0)) = 4 (ну я принял, что sizeof(char) = 1 и sizeof(int) = 4), ну и в зависимости от того, какой тип передан в качестве T, value равно 0 или нет. Вот как-то так.+*(T*) - я немного не уверен в этой конструкции (как я понял, (Т*) 0 - это приведение 0 к типу T*, а первая это разыменование???), но в целом, (sizeof(f(*(T*)0)) - проверяет размер возвращаемого значения для функции с параметром типа Т, сравнивает с размером типа char, и таким образом, если для Т = А, то (sizeof(f(*(T*)0)) = 1, для T != A, получим (sizeof(f(*(T*)0)) = 4 (ну я принял, что sizeof(char) = 1 и sizeof(int) = 4), ну и в зависимости от того, какой тип передан в качестве T, value равно 0 или нет. Вот как-то так.
etc/users/fun.1265130597.txt.gz · Last modified: 2010/02/02 20:09 by krinkinmu