Wpis z mikrobloga

@boryspo: Wywołanie sleep() które nie wiesz jak działa albo sleep_for() które nie wiesz jak działa. Z tym ze jedno odpalisz na Windows a drugie gdziekolwiek na co zbudujesz. Nie widzę powodu dlaczego ktoś miałby tak zaczynać.
  • Odpowiedz
@boryspo: Chcesz mi w ten sposob powiedzieć, ze zewnętrzna biblioteka Boost wspiera więcej platform niż biblioteka standardowa, która musi mieć implementacje aby w ogóle używać C++ na danej platformie?
  • Odpowiedz
@TypowyDaltonista: zegar chyba lepiej zrobic na time.h(?), na poczatku nadac wartosc jednej zmiennej i w petli odejmowac ja od tej aktualizowanej na bierzaco.
funkcja sleep (w kodzie odpalonym w cmd.exe) dziala bardzo niedokladnie w takich zadaniach ( ͡º ͜ʖ͡º)
  • Odpowiedz
@TypowyDaltonista: Boziu jaki ten post jest zalany gównem. Ewidentnie dopiero zaczynasz a wszyscy zamiast pozwolic eksperymentować to się plują że lepiej by się dało.

Proponuję stack overflow i tutorialpoint.com (angielski prymitywny wymagany)
Prawda jest taka że jak kodzisz to zawsze będziesz musiał używać jakiś nowych funkcji podzespołów itp. dla tego jak coś nie działa a działać powinno to odrazu szukaj w internecie dokumentacji. Czyli :
Co funkcja robi , jakie
  • Odpowiedz
@TypowyDaltonista 1. Nie używaj using namespace std. Jak bardzo chcesz używać using to ogranicz do konkretnych rzeczy, które chcesz używać., np. Using std::cout 2. Ten zegar liczy 61 sekund (nie wiem czy to zamierzony efekt) 3. Polecam równie korzystać z std::thisthresd::sleepfor() 4. Wcięcia, Wcięcia, Wcięcia.... Przejrzystość kodu to podstawa
5. Żeby być pewnym wyświetlenia na ekran możesz użyć std::cerr zamiast cout
  • Odpowiedz
@TypowyDaltonista ad.1. Unikaj złych przyzwyczajeń. Na razie ok ale w kodzie produkcyjnym to niedopuszczalne :)
ad. 3. Poszukaj wyżej co pisał @Latawiec - to bardzo fajne rozwiązanie na tego typu sleepy tylko że z biblioteki standardowej.
ad. 5. Cout jest buforowany i wyświetlanie na ekran następuje po przepełnieniu bufora lub po zakończeniu linii 'endl'. Za to 'cerr' to strumień błędów i jest wyświetlany natychmiastowo bez żadnych dodatkowych kruczków
  • Odpowiedz
@alfaplusplus: Ad.5 w wielu systemach cerr jest przekierowany w inne miejsce, i poleganie na nim jako "niebuforowany cout" to zła praktyka. Lepiej w takim wypadku po prostu wywołać opróżnienie bufora przesyłając manipulator std::flush
  • Odpowiedz