C++ bezpieczeństwo if'a
Ostatnio zmodyfikowano 2020-06-10 19:41
Gildin213 Temat założony przez niniejszego użytkownika |
C++ bezpieczeństwo if'a » 2020-06-10 16:14:00 Hej! Szybkie pytanie! Czy if w c++ jest bezpieczny na stałej zmiennej typu const? np const int Test = 12; if( Test == 12 ) { printf( "Zmienna Test = %d,Test); } else { printf( "Zmienna Test = %d (zły wynik), Test); }
Czy łatwo taką zmienną, zmienić np jakimś edytorem pamięci? |
|
DejaVu |
» 2020-06-10 17:27:38 Wszystko da się zmienić w pliku wynikowym. Poza tym kompilator i tak zoptymalizuje ten kod i nawet warunku może nie być w kodzie wynikowym. |
|
pekfos |
» 2020-06-10 19:41:28 Program się wykonuje dokładnie tak, jak go zapiszesz. Chyba że mowa o programie do którego użytkownik ma fizyczny dostęp, wtedy działanie programu jest z definicji niezaufane. Użytkownik nie ma żadnego interesu w psuciu sobie programu, a jeśli jest coś do zyskania we wprowadzaniu innych modyfikacji, lub samym czytaniu, to sam jesteś sobie temu winien jako autor. Co to za paranoja, że szukasz niebezpieczeństwa w pojedynczych ifach? Milion takich elementów złoży się w funkcjonalność, która jest bezpieczna, albo nie. Analizujesz pod mikroskopem każde włókienko papieru, a przegapisz że zapisałeś na nim swoje hasło. Poza tym, nawet znany niebezpieczny element nie musi być niebezpieczny w kontekście. Żeby nie szukać daleko, funkcja printf() jest niebezpieczna, gdy niepoprawnie użyta. Bardziej niż if kiedykolwiek będzie.. |
|
« 1 » |