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