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

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

30
Як визначити, чи є рядок числом із C ++?
У мене було досить багато проблем, намагаючись написати функцію, яка перевіряє, чи є рядок числом. Для гри, яку я пишу, мені просто потрібно перевірити, чи є рядок із файлу, який я читаю, число чи ні (я буду знати, чи це параметр таким чином). Я написав нижченаведену функцію, яку, на мою …
136 c++  visual-c++ 

19
/usr/lib/libstdc++.so.6: версія `GLIBCXX_3.4.15 'не знайдено
Як я можу отримати GLIBCXX_3.4.15 в Ubuntu? Я не можу запускати деякі програми, які я компілюю. Коли я роблю: strings /usr/lib/libstdc++.so.6 | grep GLIBC Я отримав: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH Дякуємо за …
135 c++  gcc  libstdc++ 

13
Як розгорнути кортеж на аргументи варіативної функції шаблону?
Розглянемо випадок шаблонної функції з аргументами варіативного шаблону: template<typename Tret, typename... T> Tret func(const T&... t); Тепер у мене є кортеж tцінностей. Як зателефонувати func()за допомогою значень кортежу як аргументів? Я читав про bind()об’єкт функції, з call()функцією, а також про apply()функцію в деяких інших застарілих документах. Здається, реалізація GNU GCC …
135 c++  c++11  arguments  tuples 

1
Скопіювати / перемістити завдання в std :: вектор :: erase () та std :: deque :: erase ()
У процесі відповіді на інше питання я натрапив на дещо інші слова для std::vector::erase()і std::deque::erase(). Ось що говорить C ++ 14 про std::deque::erase( [deque.modifiers]/4-6, моє наголос): Ефекти: ... Складність: кількість викликів до деструктора така ж, як кількість стираних елементів, але кількість викликів оператору призначення не більше меншої кількості елементів до …

6
Генеруйте випадкові числа за допомогою випадкової бібліотеки C ++ 11
Як випливає з назви, я намагаюся знайти спосіб генерації випадкових чисел за допомогою нової <random>бібліотеки C ++ 11 . Я спробував це з цим кодом: std::default_random_engine generator; std::uniform_real_distribution<double> uniform_distance(1, 10.001); Проблема з кодом, який я маю, полягає в тому, що кожного разу, коли я його компілюю і запускаю, він завжди …
135 c++  c++11  random  range 

4
Чи можна визначити тип параметра і тип повернення лямбда?
Враховуючи лямбда, чи можна з'ясувати, що це тип параметра та тип повернення? Якщо так, то як? В основному, я хочу, lambda_traitsщо його можна використовувати наступними способами: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long Мотивація полягає в …


4
C ++ нульова ініціалізація - Чому у цій програмі `b` неініціалізований, але" a "ініціалізований?
Відповідно до прийнятої (і єдиної) відповіді на це запитання щодо переповнення стека , Визначення конструктора с MyTest() = default; натомість об'єкт буде ініціалізувати нуль. Тоді чому робиться наступне, #include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int …

10
C ++ 0x не має семафорів? Як синхронізувати потоки?
Чи правда, що C ++ 0x вийде без семафорів? Про стек переповнення вже є кілька питань щодо використання семафорів. Я використовую їх (posix semaphores) весь час, щоб потік чекав на якусь подію в іншій потоці: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } Якби …

8
C ++ перетворити шістнадцяткову рядок у підписане ціле число
Я хочу перетворити шістнадцяткову рядок у 32-бітове ціле число, підписане в C ++. Так, наприклад, у мене є шістнадцятковий рядок "fffefffe". Двійкове представлення цього є 11111111111111101111111111111110. Підписане ціле представлення цього: -65538. Як зробити цю конверсію в C ++? Це також потрібно працювати для негативних чисел. Наприклад, шістнадцятковий рядок "0000000A", який …
135 c++  integer  hex  signed 

1
Ф'ючерси проти обіцянок
Я плутаю себе в різниці між майбутнім і обіцянкою. Очевидно, у них є різні способи та інше, але який фактичний випадок використання? Є це?: коли я керую деяким завданням асинхронізації, я використовую майбутнє, щоб отримати значення "у майбутньому" коли я завдання async, я використовую обіцянку як тип повернення, щоб дозволити …
135 c++  c++11  promise  future 

16
Перевірте, чи клас має функцію-член для даної підпису
Я прошу шаблонний трюк, щоб визначити, чи клас має певну функцію члена даної підпису. Проблема схожа на ту, що цитується тут http://www.gotw.ca/gotw/071.htm але не та сама: у статті книги Саттера він відповів на запитання, що клас C ОБОВ'ЯЗКОВО БЕЗПЕЧИТИ функцію члена з певний підпис, інакше програма не збирається. У своїй …
135 c++  c++11  templates  sfinae 

9
Чи може рекурсивна функція бути вбудованою?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Коли я читав це , виявив, що наведений вище код призведе до "нескінченної компіляції", якщо компілятор не обробляється правильно. Як компілятор вирішує, вбудувати функцію чи ні?

22
Тестування блоку на код C ++ - Інструменти та методологія [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 4 роки тому . Удосконаліть це питання Я працюю над великою системою c ++, яка розробляється вже кілька років. У рамках зусиль, …


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