Czas ta pytanie do ekspertów. :)

Mam napisać w C++ prostą aplikację wielowątkową celem udowodnienia, że potrafię posługiwać się semaforami. Dwóch producentów i dwóch konsumentów, zapisują i czytają z bufora fifo. Używam bibliotek oraz .

I teraz pytanie: czy mogę jednocześnie wyjmować i wkładać do bufora (push() i pop() na std::queue) przy założeniu, że w buforze są minimum trzy elementy, czy coś się może s--------ć i powinienem wykluczyć możliwość jednoczesnego wkładania i
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Onoki: Wykluczyć. To jest ta sama zmienna - kontener, więc wielowątkowo możesz wyłącznie dokonywać odczytu. Gdy nawet 1 wątek dokonuje zapisu inne nie mogą czytać.

Przy okazji, popatrz na

#include
  • Odpowiedz
#cpp

Jaki spójny coding style polecacie?

Zazwyczaj nie zadawałem sobie tego pytania, bo projekt już miał jakiś obrany.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

chce ktoś kupić:

- Symfonia C++ Grębosza, 2 tomy, wydanie trzecie poprawione, używana, 50 zł

- PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie czwarte, nieużywana, 70 zł

-
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kuba: trochę korespondowałem z Jurkiem :) Generalnie to dzięki tej książce w 1 klasie liceum zacząłem w końcu uczyć się programowania. Wcześniej sądziłem, że to jakiś kosmos dla hakierów, na szczęście mój Pan z chemii pożyczył mi Symfonie (jeszcze starą wersję) na weekend i się zaczęło :)

Potem wyszła nowa wersja Symfoni, czyli "standard", ale miała trochę błędów. Wyłapałem 32, wszystkie wypisałem i wysłałem do Jurka. Był raczej zadowolony :)
noisy - @kuba: trochę korespondowałem z Jurkiem :) Generalnie to dzięki tej książce w...

źródło: comment_ZtjS8kWOH9PJhI2B9i9mfXAPD9CpwWVM.jpg

Pobierz
  • Odpowiedz
@KrzaQ2: Jedyny problem to teraz jak zapisać wyjście tak żeby użytkownik dostawał np w numbers/floatnumbers int/double a w text string lub jakoś tak zorganizować żeby mógł sbie odczytywać na zasadzie (w sensie żeby takie pola miał do odczytu).

{
  • Odpowiedz
@Chmurzak: ustaw typ zwracany z funkcji na std::function i wtedy zwróć lambdę przez wartość.

swoją drogą to nie powinieneś robić czegoś takiego jak zwracanie lambdy z funkcji... to nie ma sensu, poczytaj o funktorach.
  • Odpowiedz
Pyta informatyk informatyka

-jaką masz grupę krwi?

.

.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam pytanie. Opłaca się czytać 2. tom Symfonii Pana Grębosza? Niedługo skończę czytać pierwszy tom i powiem szczerze, że to strasznie nudny podręcznik... Jeśli nie to co polecicie w zamian? Myślałem nad megatutorialem Xiona lub "Thinking in C++".

#programowanie #cpp
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@erwit: Jeśli chcesz głębokość rekurencji sprawdzić to dodaj dodatkowy argument do funkcji - depth i przekazuj depth+1 za kaƶdym razem. a do globalnego countera przypisuj max(counter,depth), gdzie counter jest globalny a depth podany od rodzica.
  • Odpowiedz
#programowanie #cpp Mirki, potrzebuję pomocy. Wyskakuje mi błąd :"ISO C++ forbids comparison between pointer and integer" w kodzie (podaję tylko istotny fragment):

int main(int argc, char * argv[])

{

if(argv[2]
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Tak się zastanawiam, jak w prosty sposób zaimplementować coś w rodzaju call stacka w Borlandowskim środowisku. Raz, że fajnie by było śledzić miejsce, gdzie mniej więcej się coś wywaliło (i wg jakiej ścieżki), a dwa - śledzić czasy wykonania poszczególnych etapów funkcji, żeby znaleźć jakieś punkty do optymalizacji.

Bawił się ktoś w coś takiego? Jakieś artykuły ciekawe może ktoś polecić w necie?

#programowanie #cpp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach