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

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

7
C ++, Free-Store vs Heap
Динамічні асигнування з, new/deleteяк кажуть, відбуваються у вільному магазині , тоді як malloc/freeоперації використовують купу . Я хотів би знати, чи є фактична різниця на практиці. Чи складають компілятори різницю між двома термінами? ( Безкоштовний магазин та купа , ні new/malloc)

30
Чи є простий спосіб перетворити перелік C ++ у рядок?
Припустимо, у нас є кілька названих переліків: enum MyEnum { FOO, BAR = 0x50 }; Я шукаю в Google - це сценарій (будь-яка мова), який сканує всі заголовки в моєму проекті і генерує заголовок з однією функцією на перерахунок. char* enum_to_string(MyEnum t); І реалізація з чимось подібним: char* enum_to_string(MyEnum t){ …
123 c++  string  enums  scripting 

13
Виклик продуктивності на C ++: перетворення на ціле число до std :: string
Чи може хтось перемогти продуктивність мого цілого std :: string коду, зв'язаний нижче? Уже є кілька запитань, які пояснюють, як перетворити ціле число в ціле std::stringв C ++, наприклад, таке , але жодне із запропонованих рішень не є ефективним. Ось готовий для компіляції код для деяких загальних методів, з якими …

14
Чи варто використовувати специфікатор винятку в C ++?
У C ++ ви можете вказати, що функція може або не може викидати виняток, використовуючи специфікатор винятку. Наприклад: void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of type int void baz() throw(...); // may throw an exception of some unspecified …

10
Як я можу отримати вектор (або хв) значення у векторі?
Як я можу отримати значення max (або min) у векторі в C ++ ? Я бачив декілька рішень для цього в Google, але жодне з них не мало для мене сенсу :( Чи може хтось пояснити простим прямим способом noob, як отримати значення max або min з вектора будь ласка? …
123 c++  vector  max  min 

7
У C ++ помилка "X не називає тип"
У мене є два класи, оголошені як нижче: class User { public: MyMessageBox dataMsgBox; }; class MyMessageBox { public: void sendMessage(Message *msg, User *recvr); Message receiveMessage(); vector<Message> *dataMessageList; }; Коли я намагаюся скомпілювати його за допомогою gcc, він видає таку помилку: MyMessageBox не називає тип
123 c++  windows  types 

9
Де знайти визначення size_t?
Я бачу змінні, визначені для цього типу, але я не знаю, звідки він походить, а також яке його призначення. Чому б не використовувати int або unsigned int? (Як щодо інших "подібних" типів? Void_t тощо).
123 c++  c  variables 

7
Чому std :: queue :: pop не повертає значення.?
Я пройшов через це сторінку, але не можу зрозуміти причину того ж. Там це згадується "розумніше взагалі не повертати значення і вимагати від клієнтів використовувати front () для перевірки значення в передній частині черги" Але огляд елемента спереду () також вимагав копіювання цього елемента в lvalue. Наприклад, у цьому сегменті …
123 c++  stl 

4
C ++ проектна організація (з gtest, cmake та doxygen)
Я взагалі новачок у програмуванні, тому вирішив, що почну з створення простого векторного класу в C ++. Однак я хотів би зайнятися хорошими звичками з самого початку, а не намагатися змінити свій робочий процес згодом. Наразі у мене є лише два файли vector3.hppі vector3.cpp. Цей проект поступово почне розростатися (що …
123 c++  cmake  doxygen  googletest 


13
Як запустити компілятор C #, C ++ або Java для обчислення 1 + 2 + 3 +… + 1000 під час компіляції?
В недавньому інтерв'ю мені поставили справді дивне запитання. Інтерв'юер запитав мене, як я можу обчислити 1 + 2 + 3 + ... + 1000, лише використовуючи функції компілятора. Це означає, що мені заборонено писати програму та виконувати її, але я повинен просто написати програму, яка могла б примусити компілятора обчислити …

10
Правильне використання стека та купи в C ++?
Я певний час програмував, але це були переважно Java та C #. Мені ніколи насправді не довелося самостійно керувати пам’яттю. Нещодавно я почав програмувати на C ++, і я трохи розгублений, коли мені потрібно зберігати речі на стеці та коли зберігати їх у купі. Я розумію, що змінні, до яких …

7
Використовуйте C ++ з какао замість Objective-C?
Я хотів би писати програми, які використовують C ++ і какао-каркаси, тому що Apple не робить Carbon 64-бітним. Здається, що C ++ є досить ванільним у своїй реалізації в Linux та Windows, але для Mac OS X, схоже, потрібні додаткові шматочки коду Apple (наприклад, обгортка Obj-C). Також здається, що Apple …

3
Використання цього покажчика викликає дивну деоптимізацію в гарячому циклі
Нещодавно я натрапив на дивну деоптимізацію (а точніше, пропустив можливість оптимізації). Розглянемо цю функцію для ефективного розпакування масивів 3-бітових цілих чисел до 8-бітних цілих чисел. Він розпаковує 16 входів у кожній ітерації циклу: void unpack3bit(uint8_t* target, char* source, int size) { while(size > 0){ uint64_t t = *reinterpret_cast<uint64_t*>(source); target[0] = …

9
Як я можу передати функцію члена, де очікується вільна функція?
Питання таке: врахуйте цей фрагмент коду: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) { function(1, 1); } void test(int a,int b) { printf("%d - %d = %d", a , …

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