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

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.

14
Перетворення bool в текст на C ++
Можливо, це німе запитання, але чи є спосіб перетворити логічне значення в рядок таким чином, щоб 1 перетворився на "true", а 0 перетворився на "false"? Я міг би просто використати оператор if, але було б непогано знати, чи є спосіб зробити це за допомогою мови або стандартних бібліотек. Плюс я …
93 c++  string  boolean 


4
Нетипові параметри шаблону
Я розумію, що параметр нетипового шаблону повинен бути постійним інтегральним виразом. Хтось може пролити світло, чому це так? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. Я розумію, що таке постійний інтегральний вираз. Які причини забороняють нестійкі типи, …
93 c++  templates 

16
Найкращі практики для операцій кругового зсуву (обертання) в C ++
Оператори лівого та правого зсуву (<< і >>) вже доступні в C ++. Однак я не міг дізнатись, як я можу виконувати операції кругового зсуву або обертання. Як можна виконувати такі операції, як "Повернути вліво" та "Повернути вправо"? Тут обертається двічі вправо Initial --> 1000 0011 0100 0010 має призвести …


10
Чому C ++ не дозволяє успадковувати дружбу?
Чому дружба не є принаймні необов’язково успадковуваною в C ++? Я розумію, що транзитивність та рефлексивність заборонені із зрозумілих причин (я кажу це лише для того, щоб відмовитись від простих відповідей на цитати), але відсутність чогось подібного virtual friend class Foo;мене бентежить. Хтось знає історичну довідку цього рішення? Чи справді …

17
Створюйте випадкові числа рівномірно по всьому діапазону
Мені потрібно генерувати випадкові числа в межах зазначеного інтервалу, [макс; хв]. Крім того, випадкові числа повинні бути рівномірно розподілені по інтервалу, не розташовані в певній точці. В даний час я створюю як: for(int i=0; i<6; i++) { DWORD random = rand()%(max-min+1) + min; } З моїх тестів випадкові числа генеруються …
93 c++  random 


7
Перевірка вмісту стандартного контейнера (std :: map) за допомогою gdb
Припустимо мати щось подібне: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Я хотів би мати можливість перевірити вміст карти, на якій запущена програма, з gdb. Якщо я спробую використовувати оператор нижчого індексу, я отримую: (gdb) p m[1] Attempt to take address of …
93 c++  stl  map  gdb 

8
Який контейнер STL слід використовувати для FIFO?
Який контейнер STL найкраще відповідав би моїм потребам? В основному я маю контейнер із 10 елементами ширини, в якому я постійно створюю push_backнові елементи, pop_frontпереглядаючи найстаріший елемент (приблизно мільйон разів). В даний час я використовую a std::dequeдля цього завдання, але мені було цікаво, чи a std::listбуде більш ефективним, оскільки мені …
93 c++  stl  fifo 

3
Явний тип повернення лямбди
Коли я намагаюся скомпілювати цей код (VS2010), я отримую таку помилку: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results<std::string::const_iterator> what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start …

18
Перевантаження оператора [] []
Чи можна перевантажити []оператора двічі? Щоб дозволити, щось приблизно таке: function[3][3](як у двовимірному масиві). Якщо це можливо, я хотів би побачити приклад коду.

3
Як застосувати семантику переміщення, коли вектор росте?
У мене є std::vectorоб'єкти певного класу A. Клас нетривіальний і має конструктори копіювання та конструктори переміщення. std::vector<A> myvec; Якщо я заповню вектор A об'єктами (використовуючи, наприклад myvec.push_back(a)), вектор збільшиться в розмірі, використовуючи конструктор копіюванняA( const A&) для створення нових копій елементів у векторі. Чи можу я якось Aдомогтися того, що …

5
як знайти перетин двох std :: set в C ++?
Я намагався знайти перетин між двома std :: set в C ++, але я постійно отримую помилку. Я створив для цього невеликий зразок тесту #include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { set<int> s1; set<int> s2; s1.insert(1); s1.insert(2); s1.insert(3); s1.insert(4); s2.insert(1); s2.insert(6); s2.insert(3); s2.insert(0); …

14
Як додати приурочену затримку до програми на C ++?
Я намагаюся додати приурочену затримку в програмі на C ++, і мені було цікаво, чи є у когось якісь пропозиції щодо того, що я можу спробувати, або інформації, яку я можу подивитися? Я хотів би мати більше деталей про те, як я впроваджую цю затримку, але поки я не отримаю …
93 c++  time 

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