Вопросы с тегом 'std'

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

Почему "использование пространства имен std;" считается плохой практикой?

Другие говорили мне, что написание using namespace std; в коде неправильно, и что я должен вместо этого использовать напрямую std::cout и std::cin. Почему using namespace std; считается плохой практикой? Это неэффективно или существует риск объявле...
21 сент. '09 в 3:08
18

Как узнать, присутствует ли элемент в std::vector?

Все, что я хочу сделать, это проверить, существует ли элемент в векторе или нет, поэтому я могу иметь дело с каждым случаем. if ( item_present ) do_this(); else do_that();
20 февр. '09 в 21:58
5

Какая разница между "STL" и "С++ Standard Library"?

Кто-то привнес эту статью на мое внимание, что претензии (я перефразирую), термин STL неправильно используется для обозначения всей стандартной библиотеки С++ а не части, которые были взяты из SGI STL. (...) он относится к "STL", несмотря на то, ч...
05 мар. '11 в 17:32
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); } ...
27 февр. '09 в 19:08
13

Заменить часть строки другой строкой

Возможно ли в С++ заменить часть строки на другую строку? В принципе, я хотел бы сделать это: QString string("hello $name"); string.replace("$name", "Somename"); Но я бы хотел использовать стандартные библиотеки С++.
05 авг. '10 в 19:06
4

Почему я должен использовать push_back вместо emplace_back?

С++ 11 векторы имеют новую функцию emplace_back. В отличие от push_back, который полагается на оптимизацию компилятора, чтобы избежать копирования, emplace_back использует совершенную пересылку для отправки аргументов непосредственно конструктору дл...
05 июн. '12 в 2:01
16

Принудительные примеры пользовательских дистрибутивов С++?

Каковы некоторые действительно веские причины, чтобы опрокинуть std::allocator в пользу пользовательского решения? Вы сталкиваетесь с ситуациями, когда это абсолютно необходимо для правильности, производительности, масштабируемости и т.д.? Какие-ниб...
05 мая '09 в 19:36
7

printf с помощью std :: string?

Я понимаю, что string является членом пространства имен std, поэтому почему происходит следующее: #include <iostream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and...
02 июн. '12 в 21:07
15

C читать файл по строкам

Я написал эту функцию для чтения строки из файла: const char *readLine(FILE *file) { if (file == NULL) { printf("Error: file pointer is null."); exit(1); } int maximumLineLength = 128; char *lineBuffer = (char *)mal...
17 авг. '10 в 10:08
1

cout не является членом std

Я занимаюсь использованием файлов mulitple и файлов заголовков и т.д. Таким образом, у меня есть этот проект, который принимает два числа, а затем добавляет их. Довольно просто. Вот мои файлы: main.cpp #include <iostream> #include "add.h" ...
07 июл. '12 в 14:43
5

Почему rand()% 6 предвзято?

Когда я читал, как использовать std :: rand, я нашел этот код на cppreference.com int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased Что не так с выражением справа? Пробовал это, и он отлично ра...
17 апр. '18 в 13:04
8

При использовании заголовков C в С++ следует ли использовать функции из std:: или глобального пространства имен?

C является несколько не совсем подмножеством C++. Таким образом, мы можем использовать большинство функций/заголовков C в C++, немного изменив имя (stdio.h на cstdio, stdlib.h на cstdlib). Мой вопрос на самом деле семантический. В коде C++ (с испол...
16 сент. '15 в 10:26
5

Как изменить вектор С++?

Есть ли встроенная векторная функция в С++ для изменения вектора на месте? Или вам просто нужно сделать это вручную?
16 янв. '12 в 8:44
7

stdlib и цветной выход в C

Я делаю простое приложение, которое требует цветного вывода. Как я могу сделать свой вывод цветным как emacs и bash do? Я не забочусь о Windows, поскольку мое приложение предназначено только для UNIX-систем.
10 июл. '10 в 13:38
5

Должен ли я использовать std:: function или указатель функции в С++?

При реализации функции обратного вызова в С++, должен ли я использовать указатель функции C-стиля: void (*callbackFunc)(int); Или я должен использовать std:: function: std::function< void(int) > callbackFunc;
15 сент. '14 в 12:59