@Ginden: nie musisz dokonywać dereferencji wskaźników na funkcje. (btw: relevant). Nie uƶywaj std::function nadaremno, szczególnie w ciasnych pętlach takich jak Twoje. Type erasure jest praktycznie nieoptymalizowalne bez jita. Juƶ prędzej zrób klasę szablonem po typie funktora.

Zamiast bawić się w reverse, ustaw odpowiednio min i max w konstruktorze.

W konstruktorze uƶywaj listy inicjalizacyjnej zamiast wrzucać wszystko do ciała funkcji.

Jak na 1. program w C++: zajebiście.
  • Odpowiedz
Jakie IDE do C++ wybrać na Linuxie?
W pracy korzystam z Visual Studio, ale w domu unikam własnościowego oprogramowania.
#cpp
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ginden: Preferuję KDevelop, ew. QtCreator. Oba są szybkie (czyt. nie napisane w Javie : >), konfigurowalne, pierwszy ma najlepsze wsparcie dla CMake, drugi jest praktycznie zintegrowany z Qt.
  • Odpowiedz
Jak stworzyć listę (albo podajcie jakieś inne rozwiązanie) w C++, której każdy element będzie miał kilka atrybutów? Chciałbym mieć listę A[n] (n = [1,200k]) i móc odnosić się do trzech atrybutów każdego elementu tej listy np.

A[n].atr1 = _jakiśint_
A[n].atr2 = _jakiśchar_
cout << A[n].atr3

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

#qt #programowanie #cpp

QDateTime aktualnyczasunix;
qint64 qaktualnyczasunix = aktualnyczasunix.currentMSecsSinceEpoch();

wywołuję coś takiego i wychodzą mi jakieś
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

QDateTime aktualnyczasunix;

Tutaj używasz domyślnego konstruktora, czyli:

QDateTime::QDateTime()

Constructs a null datetime (i.e. null date and null time). A null datetime is invalid, since the date is invalid.


I
  • Odpowiedz
@trebeter: Pisałeś:

currentMSecsSinceEpoch w teorii powinno mi zwrócić czas w milisekundach od 1970 do dziś

Uznałem, że wiesz co piszesz :)

Natomiast inna sprawa, że currentMSecsSinceEpoch() jest metodą statyczną, tak że w ogóle Ci niepotrzebny jest obiekt klasy QDateTime(), bo ta metoda nic z obiektu nie bierze i od niego nie zależy.
  • Odpowiedz
Cześć wykopki!
W programach pisanych w c++ chcę używać jakichś baz danych (np. kilka, kilkanaście milionów potrzebnych komórek) i nie wiem jakiego narzędzia do tego użyć. Poczytałem w necie i SQLite wydaje się odpowiednie, jest jakaś lepsza alternatywa? I jak wygląda używanie takiej bazy danych, wysyłam zwykłe zapytania SQL czy potrzebna jest większa magia? Dotychczas używałem tylko mysql w projektach webowych.
#naukaprogramowania #cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

http://www.wykop.pl/link/2442059/eng-konkurs-eset-botwarz-dla-osob-poszukujacych-natchnienia-do-programowania/

Znalezisko na temat superaśnego konkursu dającego możliwość wykorzystania swojej wiedzy z zakresu algorytmiki i programowania, wysyłając swój zajebisty kod do ESET, można nawet otrzymać ofertę pracy (nie trzeba napisać najlepszego bota, aby dostać angaż).

Konkurs ten to świetna okazja dla tych, którzy piszą:

"Zacząłem
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#qt #cpp #programowanie

pracuję na bazie danych
chciałbym w programie ustawić aby robiło kopię zapasową co jakiś, ustalony przez użytkownika czas
W jaki sposób to zrobić?

Przychodzi mi na myśl iż zapisuje gdzieś kiedy zrobiono kopię zapasową i w momencie gdy klikam przycisk w programie, sprawdza mi kiedy ostatnio była robiona i jeżeli czasdłuższy > czasustalony to robi kopię. Może podpowiecie mi jakieś inne
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #qt

jak wyświetlić ostatnie zapytanie do bazy danych?
korzystam z czegoś takiego: qDebug() << query->lastQuery();

ale wyświetla mi to "UPDATE klient SET imie = :aimie, nazwisko = :anazwisko, ulica = :aulica, numerdomu = :anumerdomu, kodpocztowy = :akodpocztowy, miasto = :amiasto, kraj = :akraj, telefon1 :atelefon1, telefon2 :atelefon2, email =
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@trebeter: podstawia pod te zmienne to co zbindowałeś, automatycznie escapując znaki i dostosowując zapytanie do wybranego silnika BD. Qt nie daje stringa po zbidowaniu bo nie jest on wykonywany przez qta tylko silnik baz danych... i samo Qt nie ma tego zapytania, na SO jest walk-around jak rzeczywiście potrzebujesz final query, chociaż wątpię żebyś je potrzebował aż tak ;)
http://stackoverflow.com/questions/5777409/how-to-get-last-prepared-and-executed-query-using-qsqlquery
  • Odpowiedz
Jak uchwycić coś takiego, aby najpierw w 'while' było liczone 'i' jako 1 a nastepnie jako 2 i tak dalej..
i=1;

do
{suma=suma+1/(i*i+1.0);
i++;}
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wikary: zmien z float na duble, powinno u Ciebie zadziałać. Problem jest taki, że 0.1 nie da się dokładnie zapisać korzystając z formatu IEEE. Więc być może 0.1 jest zapisane jako 0.09999999 jak porównujesz to z 1/(3x3+1) to się okazuje, że 1/(3x3+1) jest minimalnie mniejsze od 0.09999999 (bo zapisane w double i dokładniejsze) i nie wchodzisz w ostatniej iteracji do pętli. Jeśli upierasz się na użyciu floatów, to zainkluduj #
  • Odpowiedz
Mam w #cpp dwie listy (z stl) tych samych elementów, ale inaczej posortowane. Chciałbym przy usuwaniu elementu z jednej z nich usuwać od razu ten sam na drugiej. Da się to jakoś ładnie zrobić bez przeszukiwania całej drugiej listy? #programowanie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@psi-nos: hm, to skąd program miałby wiedzieć, gdzie jest element na drugiej liście, bez jej przeglądania? :)
Zawsze trzeba przeglądać, czasem można tylko to przeglądanie skrócić wyszukiwaniem np. interpolacyjnym - bo jest posortowane.

Chyba, że będziesz gdzieś sobie robił taką haszlistę, na której będziesz zapamiętywał powiązania elementów pomiędzy listami. Bez tego powiązania program nie wywróży, w którym miejscu jest taki sam element.
  • Odpowiedz
imo, wybrałeś złą strukturę do tego typu operacji. Powinieneś mieć jedną listę/mapę, która udostępnia ci różne widoki. Coś a'la boost::multiindeks.
  • Odpowiedz