Edin polezen macros

3 отговора 145 прегледа
#1

Edin polezen macros

Vseki C/C++ progr. polzva izraz ot vida

if ( strcmp(str1,str2) == 0 ) {
/* do_something */
}
ili nesto podobno

eto neshto koeto podobriava chetlivostta

/* macrosa */
#define STRCMP(a,R,b) (strcmp(a,b) R 0)
/* i negovoto izpolzvane */
if ( STRCMP(s, ==, "test") )

Отговор
в отговор на C Prgm #2

Re: Edin polezen macros

Naprotiv vloshena e chetlivostta, direktnia variant si e predelno iasen.

Отговор
в отговор на C Prgm #3

Re: Edin polezen macros

Не виждам голям смисъл от този макрос.
Няма голяма разлика от това да ползваш функцията, само дето ако дебъгваш и се усъмниш нещо, ще трябва да ходиш да гледаш кво точно прави, т.е. по-добре си ползвай функцията.
Или ако пишеш на C++ ползвай някакъв клас с предефинирани оператори (std::string или някакъв друг).

Отговор
в отговор на josarjan #4

Е, има някакво предимство

Примерно ако искаш да смениш strcmp с нещо друго (примерно _stricmp или нещо твое) ще стане лесно.

Отговор