@sokytsinolop: To w ogóle nie ma sensu.

1. Z nazwy funkcji wynika, ƶe chcesz odwrócić kolejność znaków w tekście, ale zwracasz ZNAK. JEDEN.

2. Nie moƶesz zwrócić lokalnej tablicy (albo referencji do zmiennej lokalnej), bo po wyjściu z funkcji będziesz odwoływał się do zmiennej, której juƶ nie ma, czyli wywołasz
  • Odpowiedz
@sokytsinolop: Nie, nie działaj na zmiennych globalnych, to prawie zawsze jest błąd. Uƶyj klasy

std::string
, a jeśli musisz operować ręcznie na tablicy w stylu C, to musisz zaalokować pamięć i zwracać wskaźnik do niej.
  • Odpowiedz
Witajcie mirki. Gdzieś w programie mam coś źle i nie wiem dokładnie gdzie. Wydaje mi się, że problem jest z dynamicznymi tablicami i ich destruktorami(chyba). Czy mógłby ktoś rzucić okiem na tworzenie i niszczenie dynamicznych tablic i powiedzieć mi gdzie jest błąd? Ewentualnie po komunikacie błędu mi coś podpowiedzieć? :>

Nie wklejam tutaj kodu, bo nie byłby w ogóle czytelny. Link do pastebina:

http://pastebin.com/vKTPVf5F

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

Jak ktoś chce zacząć od podstaw programowanie w c++ to książka Symfonia c++ będzie dobra czy lepiej się pouczyć najpierw innego języka a dopiero potem c++? #cpp #programowanie
  • 33
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak uruchamiam skompilowany program, to podczas wykonywania jednej funkcji mam buffer overrun. Ale jak debuguję tę aplikację krok po kroku, żeby zobaczyć, gdzie jest problem to... przepełnienia bufora nie ma. Jakieś pomysły?

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

  • 2
#programowanie #wzorceprojektowe #cpp

W trakcie pisania menedżera zadań...

Mój menedżer opiera się na wzorcu Odwiedzającego, ale potrzebuje coś do transakcyjności dla wizytatora instalacji.

Jak
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@japer: No, więc tak to można zrobić :) commit() po prostu czyści twoją historię i żadnego rollbacka na tych obiektach nie woła (no i tego commita wołasz sobie jak już wszystko odwiedzisz i wiesz, że wszystko jest ok). Destruktor natomiast robi rollback - zawła się on jak przyleci wyjątek.
  • Odpowiedz
  • 1
#programowanie #cpp

Czy mogę utworzyć strumień, który będzie fragmentem innego strumienia? Załóżmy, że z całego pliku chcę wyodrębnić fragment pliku i z tego fragmentu utworzyć strumień. Chcę to zrobić bez kopiowania danych, bo nie chcę zarżnąć RAMu. Pomysły?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@japer: Oblicz, ile bajtów masz do przeczytania, a za pomocą

seekg
sprawdź, od kiedy należy czytać. A jeśli nie wiesz od kiedy dokąd czytać, to masz problem. Można byłoby to jakoś rozwiązać, ale jestem nieco pijany i nie odpowiem. Jeszcze spore znaczenie ma to, ile potrzebujesz pamięci do przetworzenia tych danych. Bo jeśli mniej niż ilość ram w komputerze docelowym to dyskusja jest nieco bez sensu. ;)
  • Odpowiedz
Mirki help ! Chce odpalić server ts'a przez konsole/ew przez programik i no się nie da :/ tylko jak kliknę myszką to sięodpala, próbowałem system("sicezka\tsserve3.exe"); i nic sie nie dzieje. Macie jakiś pomysł ?

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

@Linux_Shines: Ja mam całkowicie przeciwne doświadczenia, jak dobrze zrobisz to kompilacja C++ będzie szybsza. :)

A skoro już sama kompilacja jest szybsza, to i kod wynikowy programu szybciej by się wykonał.


Buhahahahaha... LOL
  • Odpowiedz
@Crypton3: Tak. Bardzo warto. Bardzo bardzo warto. Niektóre rzeczy wystarczy, ƶe będziesz znał z widzenia (np phoenix, fusion czy mpl), inne powinieneś umieć obsługiwać w stopniu co najmniej podstawowym przy dostępnej dokumentacji. Sam zmarnowałem w przeszłości setki godzin na duplikowaniu funkcjonalności, które boost oferuje od ręki (np BiMap), a potem kolejne setki godzin na szukaniu błędów w mojej implementacji.
  • Odpowiedz
Mikrobki, czy moglby mi ktos wytlumaczyc jak to dziala?

funkcja log10 pochodzi z biblioteki cmath

unsigned GetNumberOfDigits (unsigned i)

{
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kacperski1: stackoverflow mówi, że Lol.lpstrFile powinno wskazywać na bufor o rozmiarze Lol.nMaxFile do przechowania wybranej nazwy, a nie na NULL.

Update: zwracają tam też uwagę, że bufor powinien być w WCHARach, a nie po prostu bajtach, ze względu na kodowanie UTF-16.
  • Odpowiedz
napisalam sobie na szybciutko programik do liczenia dwumianu newtona, przyda sie przy nauce kombinatorki

double silnia(double i)

{

if
  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bohater:

Przede wszystkim: rekurencyjna silnia to fatalny pomysł.

Po drugie: przepisanie wprost wzoru (czyli n!/k!(n-k!)) jest trochę lamerskie, bo bez problemu przekroczysz precyzję double przy nieco większych liczbach. Można to zredukować do postaci: n(n-1)(n-2)…(n-k) /
  • Odpowiedz
#cpp #cplusplus #programowanie

Takie małe pytanko, czy można do każdej załączanej biblioteki dopisywać ".h" ? Np czy musi być .. Działa tak i tak, ale przy niektórych zapominam o ".h" i po prostu chciałbym to rozwiązać to, że wszędzie bym pisał. Jest to możliwe?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #arm #kompilacje

Problem jest taki, że do uC mogę sobie załadować program tylko do SRAM'u. Wypadałoby wrzucić tam jakiś loader tu nie ma problemów. Ale chciałbym wzbogacić pamięć/program o jakąś nową funkcję. Ale tylko jedną. Jak skompilować program bez main? Skąd wziąć kod wynikowy tej jednej przykładowej funkcji? Bo z zapisem we flashu to nie będzie problemu. Chyba wiecie o co chodzi?
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Analityk: kompilacja nie wymaga main - dopiero linkowanie szuka tej funkcji (np. na linuksie generowany jest punkt wejścia

_start
, który linkuje
  • Odpowiedz