Pytania oznaczone «c++»

113
Std :: map, która śledzi kolejność wstawiania?

Obecnie mam, std::map<std::string,int>który przechowuje wartość całkowitą do unikalnego identyfikatora ciągu i wyszukuję ciąg. Robi głównie to, co chcę, z wyjątkiem tego, że nie śledzi zamówienia reklamowego. Więc kiedy iteruję mapę, aby wydrukować wartości, są one sortowane według ciągu; ale...

113
throw nowe std :: wyjątek vs throw std :: wyjątek

patrząc na kod, na który natknąłem się: throw /*-->*/new std::exception ("//... i zawsze myślałem, że nie potrzebujesz / nie powinieneś newtutaj używać . Jaki jest właściwy sposób, czy oba są w porządku, a jeśli tak, to czy jest jakaś różnica? BTW z tego, co widzę podczas "grepping" z...

113
Czy w Javie istnieje automatyczne wnioskowanie typu?

Czy autow Javie istnieje typ zmiennej, taki jak w C ++? Przykład: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Wiem, że w Javie istnieje ulepszona pętla for, ale czy istnieje...

113
Czy „int main”; poprawny program C / C ++?

Pytam, ponieważ wydaje się, że mój kompilator tak myśli, chociaż ja nie. echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clang nie wyświetla żadnego ostrzeżenia ani błędu, a gcc wydaje tylko łagodne ostrzeżenie:, 'main' is usually a function [-Wmain]ale tylko wtedy, gdy...

113
Dlaczego możemy użyć „std :: move” na obiekcie „const”?

W C ++ 11 możemy napisać taki kod: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 kiedy dzwonię std::move, to znaczy, że chcę przesunąć obiekt, czyli zmienię obiekt. Przesuwanie constobiektu jest nierozsądne, więc dlaczego std::movenie ogranicza tego...

113
Jak zwięźle, przenośnie i dokładnie obsiać mt19937 PRNG?

Wydaje mi się, że widzę wiele odpowiedzi, w których ktoś sugeruje użycie <random>do generowania liczb losowych, zwykle wraz z takim kodem: std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 5); dis(gen); Zwykle zastępuje to jakąś „przeklętą...

112
Po co rzutować nieużywane wartości zwracane na void?

int fn(); void whatever() { (void) fn(); } Czy istnieje jakiś powód, aby rzutować nieużywaną wartość zwracaną na void, czy też mam rację, myśląc, że to kompletna strata czasu? Zagryźć: Cóż, wydaje się to dość wyczerpujące. Przypuszczam, że jest to lepsze niż komentowanie nieużywanej wartości...