Różnice dyrektyw warunkowych a instrukcji warunkowych.
Ostatnio zmodyfikowano 2015-06-04 18:36
Huxyf Temat założony przez niniejszego użytkownika |
Różnice dyrektyw warunkowych a instrukcji warunkowych. » 2015-06-04 11:36:10 Witam,
Po co się stosuje dyrektywy kompilacji warunkowej, a nie po prostu instrukcje warunkowe?
Pytam, ponieważ według mnie to jest praktycznie to samo, prócz różnicy dotyczącej budowy warunku tzn. przy dyrektywach porównuje się stałe #define, natomiast przy zwykłych instrukcjach porównuje się zmienne.
Huxyf |
|
pekfos |
» 2015-06-04 11:44:51 ponieważ według mnie to jest praktycznie to samo |
Podaj kod, w którym działają tak samo. |
|
Huxyf Temat założony przez niniejszego użytkownika |
» 2015-06-04 14:33:25 Podaj kod, w którym działają tak samo. | Przykład 1: Dyrektywy warunkowe#define wyraz 10
#if ( wyraz == 1 ) { cout << endl << "Stala wyraz jest rowna 1" << endl; } #elif ( (wyraz > 0) && (wyraz < 10) ) { cout << endl << "Stala wyraz jest mniejsza niz 10" << endl; } #elif ( wyraz > 24 ) { cout << endl << "Stala wyraz jest nie mniejsza niz 25" << endl; } #endif { cout << endl << "Stala wyraz przyjmuje inna wartosc" << endl; }
Przykład 2: Instrukcje warunkoweint wyraz = 10;
if( wyraz == 1 ) { cout << endl << "Stala wyraz jest rowna 1" << endl; } else if(( wyraz > 0 ) &&( wyraz < 10 ) ) { cout << endl << "Stala wyraz jest mniejsza niz 10" << endl; } else if( wyraz > 24 ) { cout << endl << "Stala wyraz jest nie mniejsza niz 25" << endl; } else { cout << endl << "Stala wyraz przyjmuje inna wartosc" << endl; }
Dla mnie te przykłady działają identycznie. |
|
Monika90 |
» 2015-06-04 15:50:04 a jak zrobisz takie coś ifem void who_am_i() { #ifdef _WIN32 std::cout << "Windows\n"; #elif defined(__linux__) std::cout << "Linux\n"; #else std::cout << "I don't know.\n"; #endif }
int main() { who_am_i(); }
? A jak to za pomocą #if int x; std::cin >> x; if( x > 0 ) std::cout << "x > 0\n";
? |
|
Huxyf Temat założony przez niniejszego użytkownika |
» 2015-06-04 17:37:00 Monika90 - Jak zwykle twoje rady / tłumaczenia są naprawdę najbardziej pomocne. Jesteś moim mentorem. A tak na marginesie to dała byś mi namiar do siebie (nr. GG lub adres e-mail)? ;) |
|
Monika90 |
» 2015-06-04 18:36:04 Nie udzielam prywatnych lekcji ani porad. Niestety... W sprawach C++ zawsze możesz zadać pytanie na forum. |
|
« 1 » |