Autor Wątek: Funkcja zmieniajaca wartosc zmiennej z funkcji main.  (Przeczytany 4494 razy)

Offline draghan

  • Użytkownik

  • +2
# Maj 12, 2015, 14:13:12
Kiedyś nie było. Teraz już są.
W standardzie C89 niestety nie ma. ^^' Można się ratować typedefem, ale trzeba uważać wtedy na wartość true, bo przy takim rozwiązaniu mamy jedynie "true = 1", a przecież wartość prawdziwa jest wszystkim niezerowym i niestety inne wartości nie "rzutują się".
Chociaż dla wartości false działa jak należy. :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Moderator

  • +1
# Maj 12, 2015, 14:50:54
A nie do końca prawda. Przykładowo taki std::printf z biblioteki standardowej C++ jest dostępny w C i C++ jako zwykły printf, tylko w innym nagłówku. Podobnie jak całość tej części biblioteki standardowej, którą C++ odziedziczył po C.
Generalnie to cała biblioteka standardowa C jest zdublowana w C++ w std, więc tego nie liczę.

W standardzie C89 niestety nie ma. ^^' Można się ratować typedefem, ale trzeba uważać wtedy na wartość true, bo przy takim rozwiązaniu mamy jedynie "true = 1", a przecież wartość prawdziwa jest wszystkim niezerowym i niestety inne wartości nie "rzutują się".
Po prostu trzeba pamiętać że if operuje na incie ;)

Offline draghan

  • Użytkownik

  • +3
# Maj 12, 2015, 14:58:45
Po prostu trzeba pamiętać że if operuje na incie ;)
Oczywiście. :) Ale mi chodziło po prostu o unaocznienie jednej z różnic między C a C++. :) Bo nie jest tak, że C++ to C z dodaną obiektowością (chociaż sam tak mniej-więcej myślałem swego czasu).

Pozdrawiam. :)

Offline Cyste

  • Użytkownik

# Maj 12, 2015, 16:49:14
No to musisz bardzo mało z tego C++ używać. Przykładowo praktycznie cały STL odpada, bo tam większość rzeczy przekazywana jest przez referencje.

Źle się troszeczkę wyraziłem :) Korzystam z referencji kiedy muszę. Nie używam ich przy programowaniu, jeśli mam sam stworzyć daną funkcję/metodę, która za argument przyjmie referencję. Jestem typem osoby, która bardzo dużą uwagę zwraca na optymalizację. Pod każdym kawałkiem kodu widzę prawdopodobny kod ASMa (a różnica nastąpi na przykład w metodach inline). Nie lubię za bardzo niejawnych fragmentów kodu :P

Offline Kos

  • Użytkownik
    • kos.gd

# Maj 12, 2015, 17:06:41
(a różnica nastąpi na przykład w metodach inline).
A czy słówko 'inline' jeszcze dzisiaj coś znaczy poza "może być więcej niż jedna definicja tej metody w kodzie i to w porządku"?

// część offtopu przeniosłem do tematu Wskaźniki i referencje -Xirdus
« Ostatnia zmiana: Maj 12, 2015, 20:41:00 wysłana przez Xirdus »