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

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


10
Що таке "громовідвід"?
Я бачив, що він використовується в програмуванні (конкретно в домені C ++) і поняття не маю, що це таке. Імовірно, це модель дизайну, але я можу помилитися. Чи може хтось надати хороший приклад грози?
130 c++  thunk 

2
Як встановити початковий розмір std :: vector?
У мене є, vector<CustomClass*>і я поміщаю багато елементів у вектор, і мені потрібен швидкий доступ, тому я не використовую список. Як встановити початковий розмір вектора (наприклад, 20 000 місць, щоб уникнути копіювання, коли я вставляю новий)?
130 c++  stl 

10
Передача посилань на покажчики в C ++
Наскільки я можу сказати, немає жодної причини, щоб мені не було дозволено передавати посилання на вказівник на C ++. Однак мої спроби зробити це невдало, і я не знаю, чому. Це те, що я роблю: void myfunc(string*& val) { // Do stuff to the string pointer } // sometime later …
130 c++  pointers  reference 

5
Коли використовувати леткі з багатопоточною різьбою?
Якщо є два потоки, що мають доступ до глобальної змінної, то багато підручників кажуть, що робить цю змінну мінливою, щоб запобігти компілятору кешувати змінну в регістрі, і, таким чином, вона не оновлюється правильно. Однак два потоки, що мають доступ до спільної змінної, - це те, що вимагає захисту за допомогою …



11
Отримання GDB для збереження списку точок прориву
Гаразд, інформаційний перерв перераховує точки перерви , але не у форматі, який би добре працював з повторним використанням їх за допомогою --command, як у цьому питанні . Чи має метод GDB знову скинути їх у файл, прийнятний для введення? Іноді під час сеансу налагодження необхідно перезапустити GDB після створення набору …
129 c++  c  debugging  gdb  breakpoints 

7
Поліморфізм у С ++
AFAIK: C ++ забезпечує три різні види поліморфізму. Віртуальні функції Перенавантаження назви функції Перевантаження оператора Крім перерахованих вище трьох типів поліморфізму, існують і інші види поліморфізму: час виконання час складання спеціальний поліморфізм параметричний поліморфізм Я знаю, що поліморфізм часу виконання може бути досягнутий за допомогою віртуальних функцій, а статичний поліморфізм …

5
Перевантаження операторів доступу членів ->,. *
Я розумію , більшість перевантаження операторів, за винятком операторів доступу члена ->, .*, і ->*т.д. Зокрема, що передається цим операторським функціям, а що потрібно повернути? Як функція оператора (наприклад operator->(...)) знає, до якого члена відноситься? Чи може це знати? Це навіть потрібно знати? Нарешті, чи є якісь міркування щодо суперечності, …

6
Чому переповнення цілого числа на x86 з GCC викликає нескінченний цикл?
Наступний код переходить у нескінченний цикл на GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i > 0); cout << c << endl; return 0; } Тож ось угода: Переповнення підписаного …
129 c++  c  gcc  x86  undefined-behavior 

6
Чому робота std :: shared_ptr <void>
Я знайшов код за допомогою std :: shared_ptr для довільної очищення при відключенні. Спочатку я думав, що цей код не може працювати, але потім я спробував таке: #include &lt;memory&gt; #include &lt;iostream&gt; #include &lt;vector&gt; class test { public: test() { std::cout &lt;&lt; "Test created" &lt;&lt; std::endl; } ~test() { std::cout &lt;&lt; …
129 c++  c++11  shared-ptr 


7
Додати власні повідомлення у ствердженні?
Чи є спосіб додати чи відредагувати повідомлення, викинуте шляхом assrt? Я хотів би використати щось подібне assert(a == b, "A must be equal to B"); Потім компілятор додає рядок , час і так далі ... Це можливо?
129 c++  assert 

5
Нерозв’язаний зовнішній символ на статичних членах класу
Дуже просто кажучи: У мене є клас, який складається в основному зі статичних публічних членів, тому я можу групувати подібні функції разом, які все ще потрібно викликати з інших класів / функцій. У будь-якому випадку, я визначив дві статичні неподписані змінні char у загальнодоступній області мого класу, коли я намагаюся …
129 c++  class  static  members 

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