std ×6
Создан 03.01.2025
5
голоса
5
ответов
10
просмотров
Каковы преимущества std::distance по сравнению с вычитанием итераторов?

Я итерируюсь по вектору и мне нужен индекс, на который указывает итератор. Какие достоинства и недостатки у следующих методов?

it - vec.begin() std::distance(vec.begin(), it)

7
голоса
5
ответов
32
просмотров
Как проще всего инициализировать std::vector с жестко заданными элементами?

Я могу создать массив и инициализировать его следующим образом:

int a[] = {10, 20, 30};

Как мне создать std::vector и инициализировать его таким же элегантным способом?

Лучший способ, который я знаю, это:

std::vector...
6
голоса
5
ответов
38
просмотров
Как проверить, существует ли заданный ключ в std::map?

Я пытаюсь проверить, содержится ли заданный ключ в карте, но не могу этого сделать:

typedef map::iterator mi;
map m;
m.insert(make_pair("f","++--"));
pair p = m.equal_range("f"); // Не уверен, делает ли equal_range то, что мне нужно
cout << p.first; // Здесь возникает ошибка

Как я могу...

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

У меня есть проблема: мне нужно проверить, существует ли элемент в векторе или нет, чтобы соответственно обработать каждый случай.

Вот что я пытаюсь сделать:

if ( item_present )
   do_this();
else
   do_that();

Как правильно проверить наличие элемента в векторе и использовать...

10
голоса
5
ответов
36
просмотров
Как преобразовать экземпляр std::string в нижний регистр

Я хочу преобразовать stdstring в нижний регистр. Я знаком с функцией tolower(). Однако у меня в прошлом возникали проблемы с этой функцией, и, кроме того, это не самый идеальный вариант, поскольку использование tolower() с stdstring требует итерации по каждому символу.

Существует ли...

34
голоса
5
ответов
67
просмотров
В чем проблема с "using namespace std;"?

Я слышал, что использование using namespace std; считается плохой практикой, и что мне следует прямо использовать stdcout и stdcin. Почему это так? Не возникает ли риска объявления переменных с такими же именами, как что-то в пространстве имен std? Есть ли проблемы с производительностью?