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 » |