szybkie pytanko z c++/c, morze gupie morze mondre, nie wiem. Jest jakiś sposób żeby przypisać charowi z class jakąś inną wartość? Mam taki kod https://pastebin.com/e1DeQ1kX i próbuję na dole przypisać do zmiennej x w class coś innego (pustej nie mogłem stworzyć, chyba że nie umiem XD dopiero zaczynam). Czytałem coś o strcpy, ale nie udało mi się nic wykombinować, nie bijcie

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

@oreze: bo próbujesz zmienić adres tablicy, i do adresu (a nie tablicy) wpisać tekst. A tego (technicznie) Ci nie wolno robić.
Jak już coś to strncpy(x, "eloelol", sizeof(x) - 1); (czeka na null/zero, albo ilość znaków). Tym kopiujesz zawartość od początku adresu tablicy, bajt po bajcie ze zmiennej.
No i na ostatnim znaku masz mieć zero, bo Ci się cout wykrzaczy. To Ci zostawię jako zadanie domowe.
  • Odpowiedz
@RRybak serio, ja '89. w 99 odbiłem się od ściany jak chciałem się dowiedzieć więcej, max co było e bibliotece to na zx, przepisałem do c64 23k z książki z 85 roku , po czym się okazało że nie ma połowy takich poleceń. Teraz to rozumiem, ale wytłumacz to temu 10latkowi zapaleńcowi :) matce na kasetach ze szlagrami nagrałem moje programy do liczenia powierzchni figur płaskich xD mogłeś se nawet wybrać
  • Odpowiedz
Pracuję sobie aktualnie jako dev C++ i w nowej firmie mam coś takiego jak "budżet rozwojowy" w ilości 3.5k, który mogę wydać na różne szkolenia, kursy, książki itd. Myślałem trochę na co to spożytkować, bo pierwszy raz coś takiego mam i w sumie chyba bym chciał iść powoli w kierunku machine learningu. I teraz pytanie- jakie polecacie kursy i książki za które warto się wziąć? I na które uważać? Coś z pythona
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@NoNameNoIdeaNoLife: jest przeświadczenie że naukę lepiej zaczynać od języków niższego poziomu aby lepiej poznać podstawy. Czy słusznie - nikt nie wie, jednak fakt że niższych języków później warto liznąć i tak.
CPP jest o tyle słaby do nauki że w większości w programie nauczania to miszmasz z C, do tego komunikaty kompilatora nie są łatwe do zrozumienia dla początkujących.
  • Odpowiedz
@rotflolmaomgeez: @mprzemo: @LewitujacyMnich:
Im jestem starszy, tym bardziej doceniam statyczne typowanie :)
Języki mają to do siebie, że wymuszają pewien tok rozumowania, czy nawet wizualizacji projektu. Podobnie wzorce projektowe implementuje się inaczej i niektóre są bardziej popularne w jednych językach, inne mniej. Na takim poziomie się dopiero zabawa z programowaniem zaczyna. Wcześniej to jedynie walka o przetrwanie. Zadajesz sobie pytanie "jak to zrobić" i szukasz odpowiedzi.
  • Odpowiedz
Mirki jakas podpowiedź co do zadania?
Rozważamy liczby naturalne z przedziału 11....n gdzie n >= 11. Wypisz te liczby dla których suma cyfr jest równa iloczynowi cyfr lub -1 gdy takich liczb nie ma.
Zadanie musi być zrobione tylko przy uzyciu pętli. Wiem że jest pewnie banalne ale nie mogę sobie z nim poradzić ¯\_(ツ)_/¯
#programie #cpp #informatyka
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Właśnie w książce "Język C++. Kompendium wiedzy" trafiłem na coś takiego:

"Zwróć uwagę, że funkcja bind() przyjmuje jako argumenty zwykłe wyrażenia. To oznacza, że
referencje są poddawane dereferencji, zanim funkcja bind() ich użyje. Na przykład:

void incr(int& i)
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@vonBielau: za https://en.cppreference.com/w/cpp/utility/functional/bind: The arguments to bind are copied or moved, and are never passed by reference unless wrapped in std::ref or std::cref. Jest to prawdą dla argumentów funkcji bind. Ale nie dla jej rezultatu. Czyli gdybyś do std::bind przekazał referencję, to zostałaby ona zdereferencjonowana. Ale gdy już wołasz to co zwróciło bind, to możesz tam przekazywać jak chcesz.
  • Odpowiedz
#cpp #programowanie #std #algorytmy Mireczki, pomusz.. bo trochę mi mózg przestał działać..

chcaiłbym użyć std::sort() zeby sobie posortować ale nie tablice z liczbami tylko tablice ze strukturami sortując po zmiennej wartość, czyli mam taką klasę:

class myclass
{
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema Wykopowicze! ( ͡º ͜ʖ͡º)

Dziś mamy treści dla nieco bardziej zaawansowanych programistów ( ͡ ͜ʖ ͡)
Zgodnie z obietnicą Wojtek Razik nagrał film, na którym wyjaśnia, czym jest SFINAE oraz pokazuje, dlaczego nie będzie ono potrzebne po dodaniu
CppPolska - Siema Wykopowicze! ( ͡º ͜ʖ͡º)

Dziś mamy treści dla nieco bardziej zaaw...

źródło: comment_HSG9rzUhq4nc6n5XP0H9TgkPpZYrlczj.jpg

Pobierz
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Potrzebuje napisac program, który wygeneruje mi:
- pliki bmp zawierające 4-5 znakowe teksty
- plik xml mapujący tekst ze zdjęcia ze zdjęciem
- zestaw znaków jest ograniczony do 11 liter i 5 symboli
Czy są do tego jakieś fajne biblioteki w #python lub #cpp ?
Umiałbym coś takiego łatwo machnąć w #java ale nie chciałbym dodawać kolejnego języka w którym tworzę narzędzia w tym projekcie.
szcz33pan - Potrzebuje napisac program, który wygeneruje mi:
- pliki bmp zawierające...

źródło: comment_Evb9WNYNPS1xPrNRdrj99tNoLTgwhgtI.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 3
@szcz33pan: generuje sam obrazek w momencie generowania zapisz sobie gdzieś prawidłowa captche która jest na nim zapisana. A to co wprowadzi użytkownik wysyłaj jako chociażby tekst albo pozycję każdej z literek i porównuj takie dane a nie obrazki
  • Odpowiedz
czy jest gdzie w necie dostępny jakiś kod "Low-Latency Systems" czy może to zbyt egzotyczny twór? dodam że nie zamierzam zostać #programista40k który takie systemy tworzy po prostu jestem ciekaw takiego wynalazku ( ͡ ͜ʖ ͡)
#java
#cpp
#programowanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siemanko swiry. Mam problem, mianowicie chce wpisywac do tej tablicy jednowymiarowej jakiś podciąg liczb z pliku i potem sprawdzać czy jest to ciąg rosnący. Kod kompiluje sie ale pojawia sie ze cmd przestał działać( ͡° ʖ̯ ͡°) Pomoże ktoś zlokalizować błąd i ewentualnie sprawdzi czy to bedzie działać git wtedy?

#include
#include
using
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nigdy nie pisałem w #qt, ale tworzenie kontrolek wygląda chyba mniej więcej tak:

CWindow* MainWindow = new CWindow(...);
CButton* ExitButton = new CButton(MainWindow); // nie ma konstruktora domyslnego?
ExitButton->setPosition(...); // itd

CWindow jest klasą pełniącą funkcję swego rodzaju "managera", który "zbiera" nowo utworzone kontrolki i nimi zarządza, a sam konstruktor kontrolki (prawdopodobnie) nie może być wywołany bez podania wskaźnika do tego managera. Jak się nazywa ten wzorzec projektowy? Jakie są jeszcze inne wzorce
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Feargan: Każdy QObject przyjmuje w konstruktorze wskaźnik na rodzica. Każdy rodzic ma listę dzieci. Przy destrukcji rodzica, dealokowane jest też każde z jego dzieci. Oczywiście jest to wzorzec kompozytu, ale też trochę łańcuch odpowiedzialności, szczególnie jeśli chodzi o przekazywanie sygnałów.
W Qt da się ich bardzo dużo znaleźć jak nie wszystkie, prócz takich które są niepotrzebne. Przykładowo nie znajdziemy typowego Obserwera, bo ze względu na mechanikę slotów, każdy QObject może
  • Odpowiedz
Stworzyłem sobie klasę Clients która zawiera public: int timeofeating;
Następnie stworzyłem vector lnewclients; i dodałem do niego dwa elementy:
risto.lnewclients.pushback(new Clients);
risto.lnewclients.push
back(new Clients);

problem pojawia się
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PlantatorCebuli: Nie potrzebujesz tam tych gwiazdek, możesz mieć vector, robić emplace_back(), a w sortowaniu:
bool myfunction(Clients& i, Clients& j) { return (i.timeofeating < j.timeofeating); }

Wtedy nie będziesz potrzebował strzałek, operatora new ani innych udziwnień.
  • Odpowiedz
@PlantatorCebuli: W C++ musimy wprost napisać, jakiego typu jest funkcja/metoda. Jeśli nie zwracamy nic, dajemy void. Specjalnym przypadkiem są konstruktory/destruktor, które po prostu nic nie mogą zwrócić.

Waiter::~Waiter() // To jest ok, destruktor nie może nic zwracać

Waiter::SetID(int n) // To nie jest ok, SetID nic nie zwraca,
  • Odpowiedz
@C10H15N: drugi przypadek może być "The most vexing parse" o ile value jest typem.

Pomijając powyższe, różnica jest taka, że kompilator nie wykona niejawnego rzutowania:

int d(1.0); // Ok
int e{2.0}; // To się nie skompiluje (dla -std=c++1x)
  • Odpowiedz
@C10H15N: Niestety, język C++ zawiera trochę ciemnych zakamarków. Usilnie próbują być naprawiane, a wychodzi.... jeszcze gorzej.

Jednym z takich zakamarków jest inicjalizacja zmiennych. Jedną zmienną można inicjalizować na baaaardzo wiele sposobów (stanowczo zbyt wiele). U ciebie, oba zapisy są równoważne.

W twoim kodzie masz dwa różne sposoby inicjalizacji, które zrobią dokładnie to samo - wywołają konstruktor przyjmujący typ
b.....n - @C10H15N: Niestety, język C++ zawiera trochę ciemnych zakamarków. Usilnie p...

źródło: comment_lhgh1tCp4yvU1u2DoPKfuq37xdTQ7TL4.gif

Pobierz
  • Odpowiedz
  • 0
Czemu w książce Prata forsowane jest definiowanie funkcji pod funkcja główna main(), a w kazdym innym kursie/książce jest to robione na początku? Ma to jakiś wpływ na wydajność czy zwykla organizacja kodu?
#programowanie #cpp #informatyka
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Canova: kwestia organizacji, pamiętaj tylko ze zanim funkcja jest użyta kompilator musi znać jej deklaracje. Tak szczerze to odradzam Ci książkę Praty bo uczy języka C ubranego w szlafrok C++ i potem będziesz musiał się oduczyć wielu nawyków myślowych.
  • Odpowiedz