Na forum 4programmers.net korzystamy z plików cookies. Część z nich jest niezbędna do funkcjonowania
naszego forum, natomiast wykorzystanie pozostałych zależy od Twojej dobrowolnej zgody, którą możesz
wyrazić poniżej. Klikając „Zaakceptuj Wszystkie” zgadzasz się na wykorzystywanie przez nas plików cookies
analitycznych oraz reklamowych, jeżeli nie chcesz udzielić nam swojej zgody kliknij „Tylko niezbędne”.
Możesz także wyrazić swoją zgodę odrębnie dla plików cookies analitycznych lub reklamowych. W tym celu
ustaw odpowiednio pola wyboru i kliknij „Zaakceptuj Zaznaczone”. Więcej informacji o technologii cookie
znajduje się w naszej polityce prywatności.
Wszystko zależy od tego, co kompilator z tym zrobi. ZTCW to w żadnych standardach nie są opisane różnice na poziomie kodu maszynowego w tym przypadku. Możesz sobie zdezasemblować kod i zobaczyć co się utworzyło. To jednak nie da żadnej gwarancji, bo drobna zmiana w kodzie źródłowym może skutkować nie do końca lokalnymi zmianami w kodzie wynikowym. Musisz więc sprawdzać sobie w docelowym kodzie jak taka różnica wpływa na kod wynikowy.
Moje subiektywne odczucie jest takie, że operatora warunkowego powinno używać się tam, gdzie to nie zmniejszy czytelności. Czyli preferować na ifem, ale nie na siłę. W tym przypadku wybrałbym jednak trzecie rozwiązanie, czyli std::max.
rozdzielili czy podzielili? nie jestem szkolony w czytaniu w myślach, ale prawdopodobnie zrobiono to by zredukować liczbę przypisań, co może być ważne przy dużych obiektach. poza tym, podejrzewam, że dla losowych danych ilość wejść w ifa jest rzędu O(log n). w przypadku danych całkowicie uporządkowanych ify będą bezbłędnie przewidziane przez układ przewidywania skoków. ogólnie tutaj pewnie operator warunkowy jest bardziej sztuką dla sztuki, ale przy porównywaniu intów zostałbym przy nim tak czy siak.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
jeśli (wyrażenie) to (wartość) lub w innym przypadku (wartość)
co się tłumaczy nacondition? valueIfTrue : valueIfFalse