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

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

2
Помилка компілятора: memset не було оголошено в цій області
Я намагаюся скласти свою програму C в Ubuntu 9.10 (gcc 4.4.1). Я отримую цю помилку: Rect.cpp:344: error: ‘memset’ was not declared in this scope Але проблема в тому, що я вже включив у свій файл cpp: #include <stdio.h> #include <stdlib.h> І ця ж програма чудово компілює під Ubuntu 8.04 (gcc …
101 c++  gcc 

6
Використовуючи {} у викладі справи. Чому?
Який сенс у використанні {та }у caseвикладі? Зазвичай, незалежно від того, скільки рядків у caseзаяві є, всі рядки виконуються. Це лише правило щодо старших / нових компіляторів чи щось за цим? int a = 0; switch (a) { case 0:{ std::cout << "line1\n"; std::cout << "line2\n"; break; } } і …

13
Чи можу я реалізувати автономний тип "self" в C ++?
У C ++ бракує еквівалента ключового слова PHPself , яке оцінює типу класу, що додається. Підробити це досить просто на основі класу: struct Foo { typedef Foo self; }; але мені довелося писати Fooще раз. Можливо, я одного разу помиляюсь і викличу мовчазну помилку. Чи можу я використовувати якусь комбінацію …
101 c++  c++11 

7
Зважені випадкові числа
Я намагаюся реалізувати зважені випадкові числа. Я зараз просто стукаю головою об стіну і не можу цього зрозуміти. У своєму проекті (Hold'em hand-range, суб'єктивний всебічний аналіз власного капіталу) я використовую випадкові функції Boost. Скажімо, я хочу вибрати випадкове число між 1 і 3 (тобто 1, 2 або 3). Мерсенний генератор …
101 c++  boost  random 

3
Як спеціалізувати std :: hash <Key> :: operator () для визначеного користувачем типу в не упорядкованих контейнерах?
Для підтримки ключових типів , визначених користувачем в std::unordered_set&lt;Key&gt;і std::unordered_map&lt;Key, Value&gt; один повинен забезпечувати operator==(Key, Key)і хеш - функтор: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); …

5
Стирання елементів з вектора
Я хочу очистити елемент від вектора за допомогою методу стирання. Але проблема тут полягає в тому, що елемент не гарантовано виникає лише один раз у векторі. Він може бути присутнім кілька разів, і мені потрібно очистити їх усі. Мій код приблизно такий: void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter …
101 c++  vector  stl  erase 

3
Як створити статичну бібліотеку з g ++?
Може хтось скажіть мені, як створити статичну бібліотеку з .cpp та .hpp-файлу? Чи потрібно мені створити .o та .a? Я також хотів би знати, як я можу скласти статичну бібліотеку і використовувати її в іншому .cpp-коді. У мене є header.cpp, header.hpp .я б хотів творити header.a. Перевірте header.a в test.cpp. …

5
Скільки коштує накладних витрат на розумні вказівники порівняно із звичайними вказівниками в C ++?
Скільки коштує накладних витрат на розумні вказівники порівняно із звичайними вказівниками в C ++ 11? Іншими словами, чи буде мій код повільнішим, якщо я використовую розумні вказівники, і якщо так, то наскільки повільнішим? Зокрема, я запитую про C ++ 11 std::shared_ptrі std::unique_ptr. Очевидно, що речі, що штовхаються вниз, будуть більшими …

2
std :: shared_ptr цього
Зараз я намагаюся навчитися користуватися розумними вказівниками. Однак, проводячи деякі експерименти, я виявив наступну ситуацію, для якої не міг знайти насичуючого рішення: Уявіть, у вас є об'єкт класу A, який є батьком об'єкта класу B (дочірній), але обидва повинні знати один одного: class A; class B; class A { public: …


3
Чи безпечно пов’язувати об’єкти C ++ 17, C ++ 14 та C ++ 11
Припустимо, у мене є три скомпільовані об'єкти, всі створені одним і тим же компілятором / версією : A був складений за стандартом C ++ 11 B був складений за стандартом C ++ 14 C був складений за стандартом C ++ 17 Для простоти припустимо, що всі заголовки були написані на …
101 c++  c++11  linker  c++14  abi 

8
Компіляція простої програми Hello World на OS X за допомогою командного рядка
У мене є простий приклад світового привіт, який я намагаюся скомпілювати на OS X, з назвою hw.cpp: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { cout &lt;&lt; "Hello world!" &lt;&lt; endl; return 0; } Я хотів би скласти його за допомогою gcc, але у мене не було успіху. …
101 c++  xcode  macos 

20
C / C ++ перевірте, чи встановлений один біт, тобто змінна int
int temp = 0x5E; // in binary 0b1011110. Чи існує такий спосіб перевірити, чи є біт 3 у темпі 1 або 0 без зміщення бітів та маскування. Просто хочу знати, чи є для цього якась вбудована функція, або я змушений писати її сам.
100 c++  c  bit-manipulation 

8
Є "інше якщо" одним ключовим словом?
Я новачок у С ++. Я часто бачу умовне твердження, як нижче: if statement_0; else if statement_1; Питання: Синтаксично , чи слід розглядати це else ifяк одне ключове слово? Або це насправді вкладене ifтвердження у зовнішньому, elseяк нижче? if statement_0; else if statement_1;

19
Який найшвидший спосіб обчислити гріх і союз разом?
Я хотів би разом обчислити як синус, так і косинус значення (наприклад, створити матрицю обертання). Звичайно, я міг би їх обчислити окремо один за одним, як a = cos(x); b = sin(x);, але мені цікаво, чи існує швидший спосіб, коли потрібні обидва значення. Редагувати: Щоб узагальнити відповіді поки що: Влад …
100 c#  c++  c  algorithm  math 

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