Запитання з тегом «std»

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

30
Чому "використовується простір імен std;" вважається поганою практикою?
Інші мені сказали, що писати using namespace std;в коді неправильно, і що я повинен використовувати std::coutі std::cinбезпосередньо замість цього. Чому це using namespace std;вважається поганою практикою? Це неефективно чи він ризикує оголосити неоднозначні змінні (змінні, які мають те саме ім’я, що і функція в stdпросторі імен)? Чи впливає це на …


5
Яка різниця між "STL" та "Стандартною бібліотекою C ++"?
Хтось звернув цю статтю до мене, що стверджує (я перефразую) термін STL зловживається для позначення всієї стандартної бібліотеки C ++ замість частин, взятих із SGI STL. (...) він посилається на "STL", незважаючи на те, що дуже мало людей досі використовують STL (що було розроблено в SGI). Частини стандартної бібліотеки C …

12
Чи можете ви видалити елементи зі списку std :: під час ітерації через нього?
У мене код такий: 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?
C ++ 11 векторів мають нову функцію emplace_back. На відміну від того push_back, що покладається на оптимізацію компілятора, щоб уникнути копій, emplace_backвикористовує ідеальну переадресацію для передачі аргументів безпосередньо конструктору для створення об’єкта на місці. Мені здається, що emplace_backвсе push_backможе зробити, але якийсь час це зробить краще (але ніколи не гірше). …
232 c++  c++11  std 

3
cout не є членом std
Я практикую використання файлів mulitple та заголовків тощо. Отже, у мене є проект, який займає два числа, а потім додає їх. Досить просто. Ось мої файли: main.cpp #include <iostream> #include "add.h" int main() { int x = readNumber(); int y = readNumber(); writeAnswer(x + y); return(0); } іо.cpp int readNumber() …
199 c++  io  std  member  cout 

14
Замініть частину рядка іншою
Чи можливо в C ++ замінити частину рядка на іншу рядок? В основному, я хотів би це зробити: QString string("hello $name"); string.replace("$name", "Somename"); Але я хотів би використовувати бібліотеки Standard C ++.
186 c++  string  replace  substring  std 

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, 9 }; …


5
Чи варто використовувати std :: функцію або покажчик функції на C ++?
Чи реалізувати функцію зворотного дзвінка в C ++, чи повинен я все-таки використовувати вказівник функції C: void (*callbackFunc)(int); Або я повинен використовувати std :: функцію: std::function< void(int) > callbackFunc;
142 c++  function  c++11  callback  std 

7
stdlib та кольоровий вихід у С
Я роблю просту програму, яка вимагає кольорового виводу. Як я можу зробити свій вихід кольоровим як 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 компілятора), я можу зателефонувати printf("Hello world!");і std::printf("Hello …
113 c++  language-lawyer  std 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.