Tworzenie struktury po to zeby w niej miec tylko tablice intów, zeby potem zrobic sobie vector takich struktur, ktora w sumie jest tablica intow, jest mocno glupie? Czy jak mi tak pasuje to nie gryzie sie to z zadnymi dobrymi praktykami?

#programowanie #cplusplus #pytanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Danieru: Jak najbardziej gdy przykładowo ograniczasz dostęp to surowego inta, albo przeładowujesz jakieś operatory czy dokładasz metody to ma to zasadniczy sens.
Inaczej jedynym sensem jest wstrzelenie ZNACZĄCEJ nazwy oraz zostawienie miejsca na rozszerzenie tej struktury.
  • Odpowiedz
@Danieru: A to nie, jeżeli będziesz tego używał jako tablicę dwuwymiarową to opakuj całość. Albo jeszcze lepiej, skorzystaj z gotowych bibliotek do prostokątnych tablic wielowymiarowych, które są zasadniczo leprze i prawdopodobnie szybsze od tablicy obiektów std::vector.
Na szybko możesz sobie podziedziczyć po std::vector>, dodając odpowiedni konstruktor, ale nie polecam tego rozwiązania na dłuższą metę.
  • Odpowiedz
#dev #programowanie #cplusplus #windows #api #windowsapi #video #grafika Siema. Rozwijałem pewien program do odtwarzania sekwencji plików (c++ windows api), sporo osób z branży grafikowej pisało do mnie że program im pomaga, sam też korzystałem swojego czasu. Troche go zapuściłem i chcaiłem do niego wrócić. Pytanie, czy robić to tak jak do tej pory czyli w piwnicy
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kopytko1: widziałem gdzieś same binarki w takiej opcji, także czemu nie. Jeśli wiesz, że poświęciłeś na to sporo czasu, a udostępniając źródła ktoś mógłby to skomercjalizować (jadąc na Twojej pracy, bez żadnego wynagrodzenia dla Ciebie)... to tak trochę słabo wyglądałoby z Twojej strony bo nie wskazuje szacunku do swojej własnej pracy.

No chyba, że świadomie chcesz udostępniać opensource jako wkład do istniejących rozwiązań i np. traktować to jako reklamę Twoich
  • Odpowiedz
Cześć. Piszę w c++ program w którym chce mieć uniwersalny interface liczący, niezależnie od danych jakie podepnę. Zrobiłem to jako klasę abstrakcyjną a dane na których chce operować dziedziczą z tej klasy. Mam problem z metodą w której chce operować na 2 obiektach - obiekcie wywołującym tą metodę i obiekcie danym w argumencie. Żeby to było uniwersalne muszę operować na obiektach klasy abstrakcyjnej. Jak mogę to zrzutować na klasę dziedziczącą?

Ten kod
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Caly_na_bialo: U ciebie wystarczy:

if( Derived* derived= dynamic_cast( base.get() ) {
Jak byś chciał dalej przekazać taki obiekt jako std::shared_ptr to:

if( std::shared_ptr derived= dynamic_pointer_cast( base
  • Odpowiedz
@KrzaQ2: Jak na razie to nie widzę u niego żadnego designu więc się nie czepiaj.
Odpowiedziałem tylko na jego pytanie i dałem mu tylko propozycję spojrzenia na wzorce, dzięki którym może odwrócić zależność od typu parametru.
  • Odpowiedz
Cześć! No i udało się - jest pierwsza beta mojej nowej biblioteki do budowania rozproszonych aplikacji w C++! Można pobrać z github'a: https://github.com/cloudover/libdinemic albo stronki projektu dinemic.io. Bazując na tym "frameworku" można stworzyć aplikacje działające na wielu hostach w sieci, bez jakiegokolwiek centralnego punktu, włączając w to autoryzacje, która jest oparta o kryptografię.

Co działa?
- Pełen ORM na obiekty w C++ - można zmapować pola (lub użyć get/set), działa również wsparcie dla list
-
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@didijo: wyglada ciekawie, niestety przejzalem tylko pobierznie.
Ale żeby nie uszlo ci płazem postowanie kodu to doczepie się do:

using namespace std;
Uzywane globalnie w nagłówku.
Wieczorem przejżę to się może wypowiem.
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

jakbym chciał komercyjnie, ale nie kupowałbym jeszcze personal (bo chciałbym sprawdzić IDE) to rozumiem, że mogę z EAPa korzystać także komercyjnie?


@szcz33pan: Możesz używać EAP komercyjnie ale tylko przez te 30 dni kiedy jest dostępny.

Nie mogę używać komercyjnie, ale dla własnego samorozwoju na prywatnym komputerze mogę?

A tak w ogóle to wersja community to może być używana do czego się
  • Odpowiedz
#cpp #cplusplus #programowanie
Najlepsza strona z "C++ bez cholesterolu" była pod adresem www.intercon.pl/~sektor/cbx/
Jeszcze 2 tyg. temu była. Teraz już nie działa. Może ktoś ma kopię tych stron?
Sprawdzałem inne strony które zawierają "C++ bez .." ale to nie jest to :(
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam możliwości pójścia na kurs programowania C++/Java/python ale nigdy wcześniej z programowaniem nie miałem absolutnie żadnej styczności więc jestem zielony w tym temacie. Kurs jest niby dla właśnie takich ludzi. Obecnie robię w cnc i trochę stoję w miejscu od jakiegoś czasu. A tu pojawiła się szansa na zmianę .
Jak myślicie mając 28lvl można zacząć przygodę z programowaniem nie za późno? Jak później wygląda ścieżka zawodową takiego programisty. Zarobki te sprawy
  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć, mam dwie aplikacje: klient - serwer.

Jak wygląda szyfrowanie danych przesyłanych pomiędzy tymi dwoma aplikacjami?
Bo oczywiście, ktoś przechwytując pakiet jest w stanie odczytać wysłany strumień bajtów.

Jak to wygląda w wersji podstawowej i bardziej zaawansowanej? Jakie metody się stosuje?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć.
Dlaczego strumień stdout jest buforowany? Dlaczego to zostało tak zaprojektowane? Czy to spełnia jakaś ważną funkcję?
Czy przełączenie strumienia stdout na niebuforowany(setbuf(stdout, NULL);) jest poprawne, czy jest to może pójście na skróty i że tak powiem "na pałe"?

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

@RedWizard: QML jest spoko na szybką i prostą apkę, ale przy czymkolwiek bardziej złożonym zaczyna nieco w------ć.

Jak nie ogarniesz kiedy ci się zmienne wiążą bindingiem i kiedy się ten binding zrywa, będziesz miał ochotę wyrzucić komputer przez okno podczas debugowania. Na przykład inicjalizacja w stylu:

property int a: b + jakasFunkcja(c,d)
binduje zmiany b, c i d do a. Późniejsze przypisanie do a w stylu a=1 zrywa te bindingi. Cokolwiek
  • Odpowiedz
Siemka mam takie pytanko dla zaawansowany #programista15k z dziedziny #programowanie aplikacji sieciowych.
Podam taki trywialny przykład aplikacji, w ogóle bez sensownego zastosowania, abyście mogli sobie wyobrazić o co mi chodzi.

Załóżmy, że mamy dwie takie same aplikacje, zainstalowane na dwóch różnych komputerach w sieci LAN, ustanowione zostało połączenie między tymi aplikacjami.

Jak działa aplikacja:
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@WykopowyProgramista15k: zawsze można zGZIPować tego JSON-a ;) Anyway, to i tak wszystko zależy od zastosowania. Czasem po prostu wygodniej zrobić komunikację nawet po HTTP z JSON-ami, a czasem liczy się wydajność/objętość i nawet nie ma co udawać, że formaty tekstowe będą się nadawać.
  • Odpowiedz
A teraz przejdźmy do sedna - jak aplikacja rozróżnia, identyfikuje strumień bajtów(przesłany z kompa A) i na jego podstawie wykonuje określone akcje (losowy napis, obrazek, wiadomość tekstowa) na kliencie B?


@pepepanpatryk:
To się chyba nazywa pakiet danych? ;)

A następnie kiedy aplikacja otrzymywała strumień bajtów, korzystając z BinaryWritera sprawdzałem jaka liczba jest przesłana jako pierwsza w strumieniu i na jej podstawie wykonywałem określone akcje. (if 1, if 2, if
  • Odpowiedz
Mógłby mi ktoś wytłumaczyć ten zapis, jak go poprawnie przeczytać?

SDL_Surface*& img

img jest adresem wskaźnika na typ SDL_Surface?
Dla wyjaśnienia, ten zapis ma być alternatywą dla zapisu z podwójnym wskaźnikiem
#programowanie #cplusplus
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć Mirki! Od niedawna fragmenty mojej pracy doktorskiej (albo tego co będzie podstawą tej pracy) są na githubie - biblioteka łącząca w sobie API do rozwijania rozproszonych aplikacji, rozproszony system zarządzania uprawnieniami oparty o kryptografię i prosty "ORM" do bazy danych K-V w jednym. Całość w C++. Na razie jest to w powijakach, ale cały czas pracuje i udoskonalaniem :) Gdyby ktoś chciał, to zapraszam do śledzenia i zagwiazdkowania projektu na Github
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lionbest: założenie jest takie, żeby każdy w klastrze bedzie miał swoją wersję bazy, synchronizowaną przez inne nody, które robią zmiany u siebie. Aktualizacje są poukładane w łańcuch (w gorszym przypadku drzewko) podobnie jak w blockchain i trzymane też przez wszystkie nody. Dzięki temu w każdej chwili da się odtworzyć stan bazy z dowolnej chwili. A jeśli chodzi o synchronizację danych - ma nie być. Cały klaster i oprogramowanie ma być
  • Odpowiedz
Dobra mam głupie pytanie (chyba). Dostałem bardzo prosty kod #cplusplus wyciągnięty prosto z visuala 2015 do skompilowania, korzystający z tego liba http://lodev.org/lodepng/picopng.cpp

Chciałem go skompilować pod #linux przy użyciu g++ ale wywala mi:

/home/User/Documents/Projekty/Spaceship/src/picopng.cpp:564: multiple definition of main'
main.o:/home/User/Documents/Projekty/Spaceship/src/main.cpp:140: first defined here`
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach