nataraj: (Default)
[personal profile] vitus_wagner, [personal profile] beldmit, ну и кто еще в теме разбирается...

Расскажите, насколько легальна в Си вот такая штука:

Есть некий массив сопоставляющий имя и значение, и есть еще возможность значения по умолчанию, которое имени не имеет.

Чувак предлагает делать так:

#define NAME_DEFAULT ((const char *) -1)        /* pseudo-name for default value */


А потом проверять

if(Chto_to->name == NAME_DEFAULT)


Где name -- это char*

Для меня это какое-то страшное сишное конлдунство, я не могу оценить насколько оно корректно и переносимо между компиляторами.

Потому как я бы право слово скорее #define NAME_DEFAULT "" сделал бы. Ибо пустого имени все равно не бывает. И потом при помощи сравнения строк его проверял бы. Но может это у меня просто нету правильной сишной закалки.

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 23rd, 2026 03:35 am
Powered by Dreamwidth Studios