Вопросы с тегом «std»

Стандартная библиотека C ++ и ее пространство имен. Используется вместе с [c ++].

30
Почему «используется пространство имен std;» считается плохой практикой?
Другие говорили мне, что писать using namespace std;в коде неправильно, и что я должен использовать std::coutи std::cinнепосредственно вместо этого. Почему using namespace std;считается плохой практикой? Это неэффективно или существует риск объявления неоднозначных переменных (переменных, которые имеют то же имя, что и функция в stdпространстве имен)? Влияет ли это на производительность?


5
В чем разница между «STL» и «C ++ Standard Library»?
Кто-то обратил мое внимание на эту статью , утверждая, что (я перефразирую) термин STL неправильно используется для ссылки на всю Стандартную библиотеку C ++ вместо частей, взятых из SGI STL. (...) это относится к «STL», несмотря на то, что очень немногие люди все еще используют STL (который был разработан в …

12
Можете ли вы удалить элементы из списка std :: list, просматривая его?
У меня есть код, который выглядит так: 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); Я хотел бы удалить неактивные элементы сразу после их обновления, чтобы избежать повторного просмотра списка. Но если я добавляю закомментированные строки, я получаю сообщение об ошибке i++: …
239 c++  list  std 

4
Зачем мне использовать push_back вместо emplace_back?
С ++ 11 векторов имеют новую функцию emplace_back. В отличие от этого push_back, который полагается на оптимизацию компилятора во избежание копирования, emplace_backиспользует идеальную пересылку для отправки аргументов непосредственно в конструктор для создания объекта на месте. Мне кажется, что emplace_backвсе push_backможет сделать, но иногда это будет лучше (но никогда не хуже). …
232 c++  c++11  std 

3
cout не является членом std
Я тренируюсь с использованием нескольких файлов, заголовочных файлов и т. Д. Итак, у меня есть этот проект, который берет два числа и затем добавляет их. Довольно просто Вот мои файлы: main.cpp #include <iostream> #include "add.h" int main() { int x = readNumber(); int y = readNumber(); writeAnswer(x + y); return(0); …
200 c++  io  std  member  cout 


16
C читать файл построчно
Я написал эту функцию для чтения строки из файла: 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); } …
184 c  file-io  line  std 

16
Неубедительные примеры пользовательских распределителей C ++?
Какие есть веские причины отказаться std::allocatorот нестандартного решения? Сталкивались ли вы с ситуациями, когда это было абсолютно необходимо для корректности, производительности, масштабируемости и т. Д.? Какие-нибудь действительно умные примеры? Пользовательские распределители всегда были функцией Стандартной библиотеки, в которой я не особенно нуждался. Мне просто интересно, может ли кто-нибудь здесь на …

7
printf с помощью std :: string?
Насколько я понимаю, stringэто член stdпространства имен, так почему же происходит следующее? #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
Удаление элементов из std :: set во время итерации
Мне нужно пройти через набор и удалить элементы, которые соответствуют заранее определенным критериям. Это тестовый код, который я написал: #include <set> #include <algorithm> void printElement(int value) { std::cout << value << " "; } int main() { int initNum[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, …



7
stdlib и цветной вывод на C
Я делаю простое приложение, требующее цветного вывода. Как я могу сделать свой вывод цветным, как emacs и bash? Меня не волнует Windows, поскольку мое приложение предназначено только для систем UNIX.
125 c  colors  std  stdio 

8
При использовании заголовков C в C ++ должны ли мы использовать функции из std :: или глобального пространства имен?
C в некоторой степени, не совсем так, является подмножеством C ++. Таким образом, мы можем использовать большинство функций / заголовков C в C ++, немного изменив имя ( stdio.hна cstdio, stdlib.hна cstdlib). На самом деле мой вопрос носит семантический характер. В коде C ++ ( с использованием новейшей версии GCC …
113 c++  language-lawyer  std 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.