@sylwke3100: Odnalezienie rewizji nie jest problemem. Problemem jest porównanie co się zmieniło między wersjami. Narzędzia typu diff w żaden sposób się nie połapią, że poprzenoszone zostały linijki. W przypadku plików o nietrywialnym rozmiarze kod "przed" i "po" będzie wyglądał jakby został napisany od nowa i nie da się zauważyć rzeczywistych zmian.
  • Odpowiedz
#programowanie #cpp11 #cpp

Mikroby, zostały mi 2 miesiące wakacji. Koniec byczenia, trzeba coś ruszyć dupsko i zacząć się uczyć czegokolwiek.

Jako, że jestem na Infie i z tym wiąże swoja przyszłość to pasowałoby powoli uczyć się troszeczkę bardziej zaawansowanego programowania niż "hello world". Dlatego zastanawiam się jaką książkę zakupić. Symfonia C++ jest chyba bez C++11, a jest mi on potrzebny na studiach (bo głównie z niego składa się
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Witajcie

Chciałbym szerszej publiczności zaprezentować mój parserek w formie biblioteczki(w którym trochę mi pomagał @KrzaQ2). Obecnie jego możliwości są skromne. Potrafi:

- Rozpoznawać tekst, liczby całkowite, liczby zmiennoprzecinkowe (do wyboru przecinek bądź kropka jako serparator), znaki alfanumeryczne oraz inne które sobie
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak zrobić w C++ (podkreślam jak najwięcej) tablice, kontener z funkcjami które możemy dodawać w stylu insert lub push_back ?Wiem że sama tablica w C była przez wskażniki do zrealizowania (często podawana przy bibliotekach dynamicznych)

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

@KrzaQ2: Funktory są wbrew pozorom wydajniejsze niż raw pointery na funkcje. ;) A wskaźnik na funkcję konwertuje się do

std::function
, więc to najlepsze rozwiązanie jeśli mowa o C++. Raw pointery, szczególnie na funkcje, od C++11 powinny odejść do lamusa.
  • Odpowiedz
@Rincewind: To juƶ zaleƶy gdzie, ale akurat

std::function
ma nieomijalny virtual call ze względu na type erasure*.

*Przepraszam za ponglish, ale myślę, ƶe próba tłumaczenia by była jeszcze gorsza.
  • Odpowiedz
@sylwke3100: no mapa ma większe możliwości (nie jest ograniczona do stałej liczby pól chociażby), nic dziwnego, że jest wolniejsza i zajmuje więcej. Mapy zazwyczaj się implementuje jako drzewa albo hasmapy, czyli dostęp do elementu jest rzędu O(log n), lub amortyzowany (średni) O(1), ale z dużą stałą (czyli wolniej niż inne algorytmy (1)), z kolei dla wektorów i tablic dostęp do elementów jest O(1) z małą stałą, czyli dużo szybciej (ale
  • Odpowiedz
Kuhwa. Ktoś mi powie, jak zrobić losową liczbę w C++ ? Cały czas losuje mi jedną i tą samą liczbę.. : /

srand(time(NULL));


kostka2 = rand()%6;


srand(time(NULL));
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mógłby mi ktoś łopatologicznie wytłumaczyć na jakiej zasadzie działa kopiowanie tablic w c++ ?

void strcpy(char cel[], char zrodlo[])

{

int
  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@GrabkaMan: tablica to praktycznie wskaźnik który pokazuje na zerowy element. to tak jakbyś pokazywał palcem na zerowy element i przesuwał się. zapis t[2] oznacza że przesuwasz wskaźnik o 2. o dwa czego? o dwa rozmiary elementów tablicy (czyli *(t+2) ). Kopiowanie polega na wydobyciu z tablicy źródłowej wartości i przypisaniu do docelowej.

Jeśli wysyłasz tablice, to tak jakbyś wysyłał wskaźnik, zatem operujesz na oryginałkach. Tablica nie jest przekazywana przez wartość, ponieważ
  • Odpowiedz
  • 2
@GrabkaMan: polecam operacje na wskaźnikach,

bardzo fajny sposób korzystania z tablicy,

raz musiałem zrobić algorytm w celu znalezienia słowa w tablicy znaków (planszy, czyli dwuwymiarowej). Musiałem zaczerpnąć rekursji oczywiście, zrobiłem sobie klase z planszą oraz wymiarami. Zrobiłem deklarację funkcji która pobierała hasło, koordynaty planszy i tyle. Myślałem wtedy jak zdobywać kolejne znaki. stworzyłem argument specjalnie dla wywołań rekurencyjnych, indeks poszczególnych literek. Jeśli doszedłem (xD) do długości stringa to wtedy algorytm kończył
  • Odpowiedz
@Analityk: Nie, jest mnostwo sposobow, ale ty wybrales nieprawidlowy.

operator>>
nie sluzy do czytania danych binarnych – domyslnie robi skip na whitespace (CR, LF, TAB, VTAB, spacja), nawet jak plik jest otwarty binarnie. Popatrz na
  • Odpowiedz
#cpp #kiciochpyta

Po raz kolejny zaczynam zabawę z C++ teraz jednak na windowsie 8 z Visual Studio 2012. Jednak po stworzeniu prostego programu:

#include <iostream>


int
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #wtfcontent #lol #cpp

jak to możliwe żeby na konsoli wypisywało mi coś czego już nie ma w pliku w ogóle o_O.

miałem wcześniej, usunąłem i dalej wypisuje. korzystam z dev cpp. biorę compile current file i nie pomaga w ogóle.

wklejam
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kapelusznikk: po pierwsze zmień kompilator. Dev c++, jesteś masochistą? MinGW tam zastosowane jest bardzo stare i dziurawe w p---u. Zmień DEV'a na Code::Blocks + najnowsze minGW. Ewentualnie Geany albo Visual C++ (z czego na windę polecam Visuala 2012+).
  • Odpowiedz
@Dyzajash: Nie linkowałem nigdy, ale ogółem Qt Creator bezproblemowo działa z VS i MinGW. Do projektów moƶesz uƶywać CMake i QMake (sam uƶywam QMake), podejrzewam, ƶe sprowadza się to do dodania

LIBS += ...
i

INCLUDEPATH += ...
do pliku projektu. Tak przynajmniej było ze wszystkimi bibliotekami jakie linkowałem.
  • Odpowiedz
@japer: chyba chodzi o przeniesienie "bycia właścicielem" jakiegoś obiektu? (ownership) nie znam polskiej terminologii.

Chodzi o rozwiązanie problemu kopiowania wskaźników (jest to jedno z wielu rozwiązań).

Jak masz obiekt utworzony dynamicznie to trzeba go kiedyś usunąć. Możesz mieć do niego wiele wskaźników normalnie (bo wskaźniki można kopiować), i jeśli nie przemyślisz sprawy albo nie będziesz uważny - łatwo usunąć obiekt korzystając z jednego wskaźnika w 1 miejscu, a drugim wskaźnikiem dalej wskazywać
  • Odpowiedz
#cpp #programowanie #kiciochpyta

Polecicie mi jakąś stronę, na której będą zadane programy w c++, które trzeba napisać? Najlepiej jakby były też odpowiedzi do tego, jak one powinny wyglądać oraz najlepiej podział na poziom trudności.

Kojarzy ktoś taki bajer?
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Muszę znaleźć trochę motywacji do wystartowania z #cpp, bo pewno przez wakacje trochę podstaw bym uszczknął.

Jak na razie to pobrałem #codeblocks i nie wiem którą książkę wybrać. Z tego co wiem to jest "Od zera do gier kodera", "Symfonia C++" i Język C++. Szkoła programowania. Wydanie V.

Może znawcy się wypowiedzą?

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