Czy ma ktoś chwilę aby pomóc? Bawię się aktualnie klasami, dodawaniem wektorów i przeciążaniem operatorów w #cpp i niejaki błąd BLOCKTYPEISVALID(pHead->nBlockUse) niczym Gandalf nie pozwala mi przejść.

W mainie mam m.in. kod:

wektor3 = wektor1 + wektor2 + wektor3;
W klasie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Aosa: Pisze z telefonu i dawno juz nie pisałem w cpp, wiec mogę nie miec racji, ale

- w operator+ tworzysz wektor temp za pomocą konstruktora kopiujacego
- nie definiujesz konstruktora kopiujacego, wiec konstruktor robo to za ciebie (w postaci trywialnego przypisania)
- w trakcie operacji dodawania tworzony jest obiekt tymczasowy
- w felernej linicje używasz wektor3 i po lewej, i po prawej stronie
  • Odpowiedz
@sasik520: Tak generalnie to program sypie się nawet na wcześniejszej linijce którą dodałem w ramach testu. W sensie wektor1 + wektor2;.
Co nie zmienia faktu że możesz mieć rację. ( ͡° ʖ̯ ͡°)
  • Odpowiedz
#programowanie #java #cpp (taguje cpp bo więcej ludzi z cpp mogła się bawić takimi rzeczami i może mają coś ciekawego do powiedzenia)
A więc chcę wykorzystać w moim projekcie memory mapped files, i mam tu kilka pytań odnośnie używania ich w javie jak i ogólnie:
1. Czy można ręcznie określić gdzie plik zostanie załadowany, na jakim adresie w pamięci? Czy system na to pozwala? Czy da się to
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

podobno robiąc z poziomu systemu nie ma pewności że wybrany adres zostanie użyty, i ogólnie z mapowaniem trzeba zaufać kernelowi.

Tyle się dowiedziałem z zaufanego źródła.


@GotoFinal: to źle się dowiedziałeś... z manuala mmap:

MAP_FIXED :Don't interpret addr as a hint: place the mapping at exactly that address. addr must be a multiple of the page size. (...)
  • Odpowiedz
Mam Bag Of Words zrobiony do zestawu testowego i treningowego. Jak teraz sprawdzić czy obraz z zestawu testowego zawiera element z obrazu treningowego? Próbuję zrobić to SVM ale patrzę na przykładowy kod i nie mam pojęcia co się tam dzieje. Czytałem że da się to siecią neuronową zrobić, ale tutaj nawet nie wiem od czego zacząć. Mógłbym porównywać histogram obliczonych BOW i na podstawie porównania stwierdzać że na obrazie jest szukany element?
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Szukam osoby, która pomoże w ukończeniu zadania w C++ - przeliczyłem się z czasem i samemu nie zdążę. Mam gotowe niecałe 400 linijek kodu, potrzebuję pomocy z przede wszystkim naprawieniem kilku błędów, etc. Typowo akademicki poziom zadania, gdzie trzeba "wykazać" się znajomością klas. Oczywiście nie za darmo. Jakby ktoś chciał pomóc to priv.
#programowanie #cpp
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@frogi16: Ok, nie wiem co to jest klasa Attack ale zaufam że dziedziczy po CardSkill, i ma ten sam interfejs, przynamniej jeśli chodzi o metodę SetAttachedCard. W takim razie: tak to jest problem z deklaracją klasy Card. Robisz foraward declaration wewnątrz klasy CardSkill, przez co deklarujesz wrzeczywistości klasę wewnętrzną (CardSkill::Card), która jest uznawana za inny byt niż globalnie zadeklarowana klasa Card (::Card). albo wynieś deklarację w pliku CardSkill.h ponad klasę
  • Odpowiedz
#programowanie #cpp
Hej, mam pytanie odnośnie konwencji komentowania. Mam czysto wirtualną klasę nadrzędną z zaimplementowanymi niektórymi metodami. Potem są klasy, które po niej dziedziczą implementując pozostałe potrzebne metody i dorzucając własne. Jak w tym momencie się powinno komentować deklaracje metod? Na razie mam tak, że klasa nadrzędna ma skomentowane wszystkie metody, a w klasach podrzędnych mam po prostu skopiowane komentarze z nadrzędnej + ewentualne metody, które należą tylko
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@frogi16: No w porządku. Rozumiem, że są różne podejścia do tego. Pewnie zależy to od indywidualnego stylu albo stylu przyjętego w projekcie. Ale nie rozumiem po co starasz się mnie do czegoś przekonać, skoro ja zadałem pytanie dotyczące innej sprawy?
  • Odpowiedz
@Viters: tak naprawdę to nie da się na to odpowiedzieć, bo nie wiadomo jaka jest tego logika biznesowa itd. ale ogólnie dziedziczenie to jest śliski temat bo łatwo wpaść w pułapkę fragile base class (zmiana w klasie bazowej spowoduje nieoczekiwane skutki w klasach poniżej, problem narasta gdy struktura dziedziczenia rozrasta się powyżej 3 poziomy i gdy wiele jest use caseów klasy bazowej). Dlatego między innymi popularna jest konwencja composition over
  • Odpowiedz
#programowanie #cpp

https://github.com/CRYTEK-CRYENGINE/CRYENGINE/tree/release/Code/CryEngine/CryCommon/CryMath

Mirki, goście tutaj widzę pakują implementacje funkcji do plików .h, miejscami tylko robią costam.h i costamImpl.h. Jak parę lat temu uczyłem się c++ to zawsze dzieliło się na pliki h i cpp. To co oni stosują tutaj to jakaś znana w świecie c++ konwencja?
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xmichaelx: nie wiem co Ci koledzy piszą wcześniej, ale z żadną z tych odpowiedzi nie zgodziłbym się w pełni..

1. Po co dzielimy na .h (/ .hpp) i .cpp?
Po to, że *include-ując* za każdym razem cały kod (nagłówki + implementacja), czas kompilacji byłby bardzo długi i jeśli zmienił byś coś w implementacji a nie nagłówku/API klasy/struktury/funkcji, to ta klasa jak i zależne od niej musiały by zostać przebudowane od nowa. Gdy
  • Odpowiedz
@FantaZy: NIE.
@Xonar: Nie wprowadzaj ludzi w błąd.

Po pierwsze, jeżeli mówimy o typach prostych (int) to zarówno const jak i final jest bezsensowne, bo wartość tak czy inaczej jest kopiowana. To tak na marginesie.

Ogólnie, działanie final w Javie jest zupełnie inne niż
  • Odpowiedz
Wcześniej wrzuciłem tylko to nad czym zacząłem pracować: http://www.wykop.pl/wpis/17856429/nie-wiem-czy-to-sie-komus-przyda-ale-wrzuce-napisa/
Teraz wrzucam już w pełni funkcjonalną wersję, którą mam jeszcze zamiar rozbudować o nowe funkcje jak rysowanie wykresu danej funkcji, badanie punktów przecięcia różnych funkcji, itp.
Obsługa jest prosta, choć może wydać się dziwna, co wyjaśnię w dalszej części postu. Najpierw należy wcisnąć 7 i podać typ funkcji(1 to funkcja liniowa, 2 to funkcja kwadratowa).
Potem należy podać współczynniki funkcji. Jak wiadomo z lekcji matmy, w
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

w głowie albo w googlach ( ͡° ͜ʖ ͡°)
plik z namespacem np. Utils jest czesto uzywany czy tez czasem Math, nie ma raczej określonego sposobu.
  • Odpowiedz
@Leinnan: użyj biblioteki do matematyki wektorowej, w każdej to jest, lepiej nie napiszesz.

Jak chcesz się nauczyć sam to pisać, albo potem wyjdzie coś, czego nie będzie gotowego - to możesz zrobić podfolder w projekcie, albo nawet i bez - po prostu nazwapliku.h i nazwapliku.cpp. Kwestia gustu.

Jak chcesz się bardzo bawić to nawet możesz zrobić oddzielny projekt i budować bibliotekę do nazwa.a (nazwa.o )czy tam nazwa.dll (nazwa.so) ale to
  • Odpowiedz
W jaki sposób mogę wygenerować fraktal z binarek?
Dokładnie chodzi o to, że musiałem przekształcić pierwsze 40 wyrazów ciągu fibonacciego na binarny potem wyrównać a teraz na ich podstawie sporządzić obraz binarnego fraktala.

#cpp #programowanie #informatyka #matura
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ElGovanni: Z tego co pamiętam to klucz przewidywał że sobie wkleisz odpowiednie wartości (0/1) do komórek w excelu i potem pokolorujesz na czarno komórki zawierające jedynki. A jak chcesz wygenerować czysty czarno-biały obrazek PNG, to musisz się już bawić w piksele (nie wiem jak to działa w C++, pisałem to w Javie)
  • Odpowiedz
@bordeaux: właśnie zajrzałem do odpowiedzi po tym jak wygenerowałem bitmape w c++ xD
Na przyszłość będę o tym pamiętał bo to 1 minuta roboty a w c++ zajęło mi to "troszkę" dłużej...
  • Odpowiedz
Mirki od #programowanie Mamy do ustalenia jedną kwestię.

Jakiego IDE używacie do programowania w #c i #cpp na #linux ?

Jakie IDE do C/C++ na linuxa?

  • Eclipse 9.0% (40)
  • Code::Blocks 18.9% (84)
  • QtCreator 10.6% (47)
  • Inne: NetBeans, KDevelop, CodeLite... (proszę o komentarz) 11.0% (49)
  • Prawilny programista pisze w vi, kompiluje w gcc, a debuguje w gdb 50.5% (224)

Oddanych głosów: 444

  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Można jakoś przesunąć wskaźnik pliku do nowej lini w #cpp? np. program odczytuje dane w pliku tekstowym i zeby w pewnej sytuacji nie odczytywal linii do końca tylko przeszedł do następnej.
#naukaprogramowania
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rotflolmaomgeez: Ok już sobie poradzilem ogólnie mialem problem z wczytywaniem z pliku i przed chwilą wpadłem na to że funkcji getline moge użyć np od połowy linii, co mi bardzo pomogło. Dzięki za odpowiedź.
  • Odpowiedz
cześć, mam krótkie pytanie odnośnie #cpp - mam takiego potworka:
int main(int ac, char*av[]){
return ac[av]==0;
}
jak to działa? int jest typu całkowitego, a jednak użyty jest operator [], w środku jest wskaźnik na wskaźnik na coś. Ogólnie nie da się chyba odwołać np. ac[0], albo ac[3], ale jednak ac[wskaźnik] się skompiluje. Jak to ugryźć?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@g500s: bo kompilator akurat tutaj av[] zamienia na *av, wiec av[ac] zamienia sobie na *(av + ac) wiec nie ma znaczenia kolejnosc zapisu ac+av czy av+ac i czy zapiszesz to av[ac] czy ac[av]
  • Odpowiedz
#programowanie #cpp #qt

Orientuje się ktoś może jaki program wygeneruje mi ogarniętego UMLa z C++ qtowego? Enterprise Architect zdaje sobie nie radzić z qtowymi rozszerzeniami typu private slots (których byśmy nie chcieli pokazywać), signals itd.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Khaine: Visual studio tworzy fajne UMLe , co prawda zawsze to robiłem dla projektów pisanych w C# jednak dla C++ może też się uda
  • Odpowiedz
Mam mały problem.

file >> cat;
getline(file, word);

Wczytuje z pliku do stringa cat wszystko do pierwszej spacji, a całą resztę do stringa word. Problem w tym, że na początku stringa word pojawia się spacja. Jak zrobić aby jej nie wczytało?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach