Pytania otagowane jako std

Biblioteka standardowa języka C ++ i jej przestrzeń nazw. Używaj w połączeniu z [c ++].

30
Dlaczego „używa przestrzeni nazw std;” uważane za złą praktykę?
Powiedziano mi przez innych, że pisanie using namespace std;w kodzie jest źle, i że powinno się używać std::couti std::cinbezpośrednio zamiast. Dlaczego using namespace std;uważa się za złą praktykę? Czy jest nieefektywny, czy ryzykuje zadeklarowanie niejednoznacznych zmiennych (zmiennych o tej samej nazwie co funkcja w stdprzestrzeni nazw)? Czy wpływa to na …



12
Czy potrafisz usunąć elementy ze standardowej listy podczas iteracji?
Mam kod, który wygląda następująco: for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); Chciałbym usunąć nieaktywne elementy natychmiast po ich aktualizacji, aby uniknąć ponownego przeglądania listy. Ale jeśli dodam skomentowane wiersze, pojawia się błąd, gdy dochodzę do i++: „Nie można zwiększać iteratora …
239 c++  list  std 

4
Dlaczego miałbym kiedykolwiek używać push_back zamiast laborace_back?
Wektory C ++ 11 mają nową funkcję emplace_back. W przeciwieństwie do tego push_back, który polega na optymalizacji kompilatora w celu uniknięcia kopiowania, emplace_backwykorzystuje doskonałe przekazywanie, aby wysyłać argumenty bezpośrednio do konstruktora w celu utworzenia obiektu w miejscu. Wydaje mi się, że emplace_backwszystko push_backrobi, ale czasami zrobi to lepiej (ale nigdy …
232 c++  c++11  std 

3
cout nie jest członkiem std
Ćwiczę wiele plików i plików nagłówkowych itp. Mam więc ten projekt, który bierze dwie liczby, a następnie dodaje je. Dość proste. Oto moje pliki: main.cpp #include <iostream> #include "add.h" int main() { int x = readNumber(); int y = readNumber(); writeAnswer(x + y); return(0); } io.cpp int readNumber() { int …
199 c++  io  std  member  cout 

14
Zamień część ciągu na inny
Czy w C ++ jest możliwe zastąpienie części łańcucha innym łańcuchem? Zasadniczo chciałbym to zrobić: QString string("hello $name"); string.replace("$name", "Somename"); Chciałbym jednak użyć standardowych bibliotek C ++.
186 c++  string  replace  substring  std 

16
C czyta plik linia po linii
Napisałem tę funkcję, aby odczytać wiersz z pliku: const char *readLine(FILE *file) { if (file == NULL) { printf("Error: file pointer is null."); exit(1); } int maximumLineLength = 128; char *lineBuffer = (char *)malloc(sizeof(char) * maximumLineLength); if (lineBuffer == NULL) { printf("Error allocating memory for line buffer."); exit(1); } char …
184 c  file-io  line  std 

16
Ciekawe przykłady niestandardowych alokatorów w C ++?
Jakie są naprawdę dobre powody, aby zrezygnować std::allocatorz niestandardowego rozwiązania? Czy spotkałeś się z sytuacjami, w których było to absolutnie konieczne dla poprawności, wydajności, skalowalności itp.? Jakieś naprawdę sprytne przykłady? Niestandardowe podzielniki zawsze były cechą Biblioteki Standardowej, której nie potrzebowałem. Zastanawiałem się tylko, czy ktoś tutaj na SO mógłby podać …

7
printf with std :: string?
Rozumiem, że stringjest to element członkowski stdprzestrzeni nazw, więc dlaczego ma miejsce następujący przebieg? #include <iostream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; printf("Follow this command: %s", myString); cin.get(); return 0; } …
157 c++  string  namespaces  printf  std 

8
Usuwanie elementów ze std :: set podczas iteracji
Muszę przejść przez zestaw i usunąć elementy, które spełniają predefiniowane kryteria. Oto kod testowy, który napisałem: #include <set> #include <algorithm> void printElement(int value) { std::cout << value << " "; } int main() { int initNum[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; std::set<int> …



7
stdlib i kolorowe wyjście w C
Tworzę prostą aplikację, która wymaga kolorowego wydruku. Jak mogę sprawić, by moje wyjście było kolorowe, tak jak robią to emacs i bash? Nie obchodzi mnie Windows, ponieważ moja aplikacja jest przeznaczona tylko dla systemów UNIX.
125 c  colors  std  stdio 

8
Używając nagłówków C w C ++, czy powinniśmy używać funkcji z std :: czy globalnej przestrzeni nazw?
C jest w pewnym sensie, nie do końca, podzbiorem C ++. Więc możemy używać większości funkcji / nagłówków C w C ++, zmieniając nieco nazwę ( stdio.hna cstdio, stdlib.hna cstdlib). Moje pytanie jest właściwie semantyczne. W kodzie C ++ (przy użyciu najnowszej wersji kompilatora GCC) mogę wywołać printf("Hello world!");i std::printf("Hello …
113 c++  language-lawyer  std 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.