1) Qt jest bardzo miłe w użyciu

2) future i promise to są niskopoziomowe klasy obsługujące asynchroniczne działania, używaj

std::packaged_task
. W skrócie: jedna funkcja obiecuje (promise), że wykona zadanie i zostawia furture'a, czyli obiekt w którym zostanie zwrócony wynik po wykonaniu tego zadania. Pozwala to np. na wykonanie tego zadania asynchronicznie
@sadbeaver: jeśli wpisane znaki przechowujesz w tablicy, to powinno działać:

bool jest=0;

for(int i=0;i<20;i++) {

for(int j=0;j
if(tablica-wpisanych-znakow[i] == tablica-przeszukiwana[j]) {

bool jest = 1;

}

}

if(jest == 0)echo("Brakuje znaku");

jest = 0;

}

Od biedy w pierwszym ifie możesz użyć break - komputer mniej się napracuje. :P
#programowanie #winapi #cpp Mamy tu jakiegoś eksperta od WinAPI? Potrzebuję zmodyfikować zawartość schowka, udało mi się już go pobrać, zrzutwać zawartość, przerobić, ale za cholerę nie mogę tego wpisać z powrotem. W internetach wiedzy jak na lekarstwo, a każdy ze znalezionych przeze mnie sposobów nie działa :<
@KrzaQ2: Dzięki za pomoc, problemem okazał się być fragment kodu

OpenClipboard(hwnd)
, mimo ze wszędzie w tutorialach tak kazali to jednak program nie działał tak jak trzeba, trzeba było dać

OpenClipboard(NULL)
i już wszystko śmiga jak powinno :| @DanioPL: wołam bo może Tobie oszczędzę kłopotów.
@blisher: a czy czasem zmienne statyczne nie są inicjalizowane zerem? Wtedy byś nie musiał jej sam inicjalizować jeśli miała by liczyć ilość istniejących obiektów. Wystarczy inkrementacja/dekrementacja w konstruktorze/destruktorze.
@ChybaTak: Masz rację, zmienne statyczne - także te w strukturach/klasach - są inicjalizowane zerem (punkty 9.5 i 3.6.2 w najnowszym standardzie).

Nie zmienia to jednak faktu, że

static int x;
w definicji klasy to tylko deklaracja zmiennej

x
, a jej definicja wciąż musi zostać zawarta w pliku .cpp.
@void1984: Instalator śmieci w systemie, builds się po prostu rozpakowywuje i możesz go dodać do PATH w razie potrzeby. Poza tym, raczej i tak będziesz korzystał z jakiegoś IDE, które binarki samo do PATH doda ;)
@KrzaQ2: Nie używam IDE, na dwa tygodnie nie chce mi się poznawać nowego. Wystarczy notepad++.

Akutalizacja PATHa to banał. Za to przekonałem się, jak źle i nieprzenośnie napisałem cmake'a gdy był tylko dla linuksa.

Szkoda że na oficjalnej stronie nie linkują do mingwbuilds, wystarczyłaby wzmianka - jeśli chcesz być alternatywny i chcesz model wątków posix, to my nie jesteśmy tym zainteresowani, idź TAM.
#programowanie #cpp Jakich parserów plików XML używacie lub byście używali i dlaczego? TinyXML? Xerces-C++? RapidXML? Jakiś inny? I co takiego w tym parserze jest fajnego, a czego mu brakuje? Ważna jest dla was szybkość? Prostota? Zgodność z rekomendacją W3C? Obsługa DTD? W takich językach jak Java wybór jest prosty, ale nie w C++. Ja na przykład nie znalazłem interesującego mnie parsera i jestem w trakcie pisania własnego... zastanawiam się czy tylko ja
@mero3: na cmake nie, ale nie widzę czemu by miało tego nie zrobić, w końcu to zwykły projekt, który niczym się nie różni od innych projektów Qt (no ok, jest

QT += testlib
i inkludy, ale nie wiem czym testlib miałby się różnić np. od sqla)
@void1984: Wszystko zależy od kontekstu. Jeśli typ może się zmienić (np zależy od parametru szablonu) auto jest bardzo użyteczne. Ogółem, za każdym razem musisz zdecydować, która wersja jest lepsza. Ja staram się używać pełnej nazwy typu tylko i wyłącznie gdy dokonuję konwersji (np przypisuję wskaźnik na

derived
do wskaźnika na

base
)

@matek85: jeśli używasz czystego

new
to robisz to źle ;)
@gorfag: mażesz po pamięci pewnie. Jak jest breakpoint to nie dochodzi do użycia zepsutego miejsca w pamięci i się nie wywala. Jak pracujesz pod Linuksem zobacz sobie valgrind - świetne narzędzie do wykrywania nieprawidłowegu użycia pamięci (używania zwolnionych wskaźników itp), ma też inne narzędzia - do wykrywania race condition, do optymalizacji, do wykrywania wycieków pamięci, itp.

Odpalasz : valgrind TWOJA_BINARKA - Twój program działa dużo (kilkanaście) razy wolniej, i wypisuje logi
typedef double (fun)(double, double); fun f[10];
fun bez zmian

f to tablica 10 wskaźników na na funkcję zwracającą double i przyjmującą 2 argumenty typu double
Chciałem napisać interpreter własnego języka no i niestety utkwiłem. Rozwijanie go samemu ma sens ja się wie na czym stoi. A mój interpreter jest mało wygodny i wgl problem z zwykłymi rzeczami (np tokeny). kto byłby chętny współtworzyć w C/C++ jakiś sensowny język skryptowy z troszkę inną składnią ze mną?

np

[zmienna ] operator wartość/wyrażenie lub ; //zmienne

(funkcja)[argument1] = { instrukcje} //tworzenie funkcji

(funkcja)[argument1] ; //wywoływanie funkcji

(funkcja)[argument1] ->wartość; //funkcja ze