stl

std:: string:: C str ()

Jest następujący kod C++ dobrze uformowany: void consumer(char const* p) { std::printf("%s", p); } std::string random_st ... zniszczony (a może się mylę?). Czy możesz mi wskazać standard, jeśli kod jest OK mimo wszystko. To działa, gdy testuję z G++.

Dlaczego nie ma iteratorów w C++11 lub C++14?

C++98 mA front_inserter, back_inserter, i inserter, ale wydaje się, że nie ma ich żadnej wersji w C++11 lub draft C++14. Czy jest jakiś techniczny powód, dla którego nie moglibyśmy mieć front_emplacer, back_emplacer, i emplacer?

Iteracja nad wektorem w odwrotnym kierunku

Potrzebuję iteracji nad wektorem od końca do początku. "Poprawny" sposób to for(std::vector<SomeT>::reverse_iterator ... st wolny od ostrzeżeń Nie dotyczy odlewów Nie jest zbyt gadatliwy Mam nadzieję, że nie szukam czegoś, co nie istnieje:)

C++: vector to stringstream

Chcę wiedzieć, czy możliwe jest przekształcenie std:: vector w STD:: stringstream przy użyciu ogólnego programowania i jak można tego dokonać?

Czy Mogę / powinienem dziedziczyć po iteratorze STL?

Czy Mogę/powinienem dziedziczyć z iteratora STL, aby zaimplementować własną klasę iteratora? Jeśli nie, to czemu nie?

Jak znaleźć pozycję elementu w std:: vector?

Muszę znaleźć pozycję elementu w std:: vector, aby użyć jej do odwołania się do elementu w inny wektor: int find( const v ... rednio przechowywać -1. Jak zasygnalizować, że element nie znajduje się w wektorze, używając size_t zamiast int jako indeksu?

Efektywny sposób odczytu pliku na std:: vector?

Chciałbym uniknąć niepotrzebnych kopii. Celuję w coś w stylu: std::ifstream testFile( "testfile", "rb" ); std::vector<ch ... (). To pytanie nie jest tak bardzo o to, jak ważne byłoby, że overhead byłoby. Raczej jestem ciekaw, czy jest w inny sposób.

Czy powinienem używać std:: dla każdego?

Zawsze staram się dowiedzieć więcej o językach, których używam (różne style, frameworki, wzorce itp.). Zauważyłem, że nigdy n ... ę przez pewien czas, który może z niej znacznie skorzystać. Chociaż to większe pytanie zostało już zapewne zadane(np. tutaj).

Najlepszy sposób na skopiowanie wektora do listy w STL?

Jest iteracją przez wektor za pomocą iteratora i kopiowaniem do listy najbardziej optymalną metodą kopiowania. Jakieś zalecenia?

Jak zaktualizować istniejący element std:: set?

Mam std::set<Foo> i chciałbym zaktualizować jakąś wartość istniejący w nim element. Zauważ, że wartość, którą aktualizu ... ś zwięzły sposób? Czy muszę sprawdzić, czy element już tam jest, a jeśli tak, to usunąć go, dodać wartość i ponownie wstawić?

Czy vector:: erase() na wektorze wskaźników obiektu niszczy sam obiekt?

Mam wektor wskaźników do obiektów. Muszę usunąć element z wektora i umieścić go na innej liście. Czytałem, że erase może by ... również, że wywołuje destruktor obiektów przed zrobieniem tego. Muszę wiedzieć, czy wymazanie obiektu również go zniszczy.

Jak dziedziczyć po std:: ostream?

Szukałem w Google i nie mogę znaleźć prostej odpowiedzi na to pytanie. I powinno być proste, jak zwykle STL. Chcę zdefiniowa ... iem, że publiczny interfejs ostreama nie jest wirtualny, więc jak to zrobić? Chcę, aby klienci mogli używać zarówno operatora

Czy Mogę / powinienem dziedziczyć z iteratora STL?

Czy Mogę/powinienem dziedziczyć z iteratora STL, aby zaimplementować własną klasę iteratora? Jeśli nie, to czemu nie?

Jak używać std::find/STD:: find if z wektorem obiektów niestandardowych klas?

Mam klasę reprezentującą użytkownika o nazwie Nick i chcę użyć std::find_if na niej, gdzie chcę znaleźć, czy wektor userlist ... name == n2.username); }; friend bool operator!= (Nick &n1, Nick &n2) { return !(n1 == n2); }; };

Jak utworzyć statyczną funkcję członka szablonu, która wykonuje akcje na klasie szablonu?

Próbuję stworzyć ogólną funkcję, która usuwa duplikaty ze std:: vector. Ponieważ nie chcę tworzyć funkcji dla każdego typu w ... }); ++lastNonDuplicateIter; } containerToUpdate.erase(firstDuplicateIter, end(containerToUpdate)); }

Wstępnie przydziel miejsce dla kolejki stl C++

Piszę algorytm sortowania radix za pomocą kolejek i chciałbym, aby Kolejka STL przydzielała miejsce, zanim zacznę dodawać rze ... +q) while(b[q].size() > 0) { a[k++] = b[q].back(); b[q].pop_back(); } } }

std:: map, wskaźnik do wartości klucza map, Czy to możliwe?

std::map<std::string, std::string> myMap; std::map<std::string, std::string>::iterator i = m_myMap.find(some_key ... czami) lub usunę kilka innych kluczy, czy nie zmieni to przydziału tego ciągu (para klucz-wartość), aby p stał się nieważny?

W jaki sposób współdzielony PST<> umożliwia bezpieczne uruchamianie?

Zastanawiałem się, w jaki sposób std::tr1::shared_ptr<> zapewnia możliwość rzucania na boola. Mam złapany w przeszłośc ... bool_type(). Czy ktoś może wyjaśnić jak działa ten mechanizm i jak zapobiega to niejawnemu rzucaniu na bazowy typ wskaźnika?

Jak mogę wystawić Iteratory bez wystawiania używanego kontenera?

Używam C# już od jakiegoś czasu, a powrót do c++ to ból głowy. Staram się przenieść niektóre moje praktyki z C# do C++, ale z ... po prostu wpisać std:: vector:: iterator? Mam nadzieję, że po prostu zależy od iteratora, a nie implementującego kontenera...

Bezpieczny równoległy dostęp tylko do odczytu do kontenera STL

Chcę uzyskać dostęp do kontenera STL Tylko do odczytu z równoległych uruchomionych wątków. Bez użycia jakiegokolwiek blokow ... lt; "\n"; return 0; } Ten kod można skompilować za pomocą GCC 4.7 i działa dobrze na mojej maszynie. $ echo $? $ 0