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

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

4
Чи можу я натякнути на оптимізатор, давши діапазон цілого числа?
Я використовую intтип для зберігання значення. За семантикою програми значення завжди змінюється в дуже малому діапазоні (0 - 36), а int(не а char) використовується лише через ефективність процесора. Схоже, багато спеціальних арифметичних оптимізацій можна виконати на такому невеликому діапазоні цілих чисел. Багато викликів функцій цих цілих чисел можуть бути оптимізовані …


3
Вимкнути конструктор копій
У мене клас: class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Як я можу змінити його, щоб відключити код, наприклад: SymbolIndexer symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( ); і дозволяти лише такий код, …

13
libpng попередження: iCCP: відомий неправильний профіль sRGB
Я намагаюся завантажити зображення PNG за допомогою SDL, але програма не працює, і ця помилка з’являється в консолі libpng попередження: iCCP: відомий неправильний профіль sRGB Чому з’являється це попередження? Що мені робити, щоб вирішити цю проблему?
173 c++  warnings  sdl  rgb  libpng 

10
Як я можу оголосити та визначити кілька змінних в одному рядку за допомогою C ++?
Я завжди хочу, що якщо я оголошу ці три змінні, всі вони матимуть значення 0 int column, row, index = 0; Але я знаходжу, що лише індекс дорівнює нулю, а інші - непотрібні, як 844553 та 2423445. Як я можу ініціалізувати всі ці змінні до нуля, не оголошуючи кожну змінну …
173 c++ 

12
Як використовувати C ++ у Go
Як я можу викликати код C ++ у новій мові Go ? Іншими словами, як я можу обгортати свої C ++ класи та використовувати їх у програмі Go?
173 c++  wrapper  go 

2
shared_ptr до масиву: чи його слід використовувати?
Лише невеликий запит щодо shared_ptr. Чи корисно використовувати shared_ptrвказівку на масив? Наприклад, shared_ptr<int> sp(new int[10]); Якщо ні, то чому б ні? Однією з причин, про яку я вже знаю, є не можна збільшувати / зменшувати shared_ptr. Отже, його не можна використовувати як звичайний вказівник на масив.
172 c++  c++11  shared-ptr 

13
Чи справді вбудовані віртуальні функції не мають сенсу?
У мене виникло це питання, коли я отримав коментар з огляду коду, в якому говорилося, що віртуальним функціям не потрібно вбудовувати вбудовані. Я думав, що вбудовані віртуальні функції можуть стати в нагоді в сценаріях, коли функції викликаються безпосередньо на об'єктах. Але мені прийшов контр-аргумент - чому б хотілося визначити віртуальний, …

11
Використання G ++ для компіляції декількох .cpp та .h файлів
Я щойно успадкував якийсь код C ++, який був погано написаний одним файлом cpp, який містив головну та купу інших функцій. Також є .hфайли, які містять класи та визначення їх функцій. До цього часу програма компілювалася за допомогою команди g++ main.cpp. Тепер, коли я розділив класи .hта .cppфайли, чи потрібно …

4
Дорогий стрибок з GCC 5.4.0
У мене була функція, яка виглядала приблизно так (показувала лише важливу частину): double CompareShifted(const std::vector<uint16_t>& l, const std::vector<uint16_t> &curr, int shift, int shiftY) { ... for(std::size_t i=std::max(0,-shift);i<max;i++) { if ((curr[i] < 479) && (l[i + shift] < 479)) { nontopOverlap++; } ... } ... } Написаний так, ця функція займала …
171 c++  gcc 


7
Наскільки відрізняється Objective-C від C ++? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
171 c++  objective-c 

17
Як перетворити дубль у рядок у C ++?
Мені потрібно зберігати дубль як рядок. Я знаю, що можу використати, printfякщо хотів його відобразити, але просто хочу зберігати його в рядковій змінній, щоб згодом я міг зберігати її на карті (як значення , а не як ключ ).
171 c++  string  double 

2
Чому лямбди можуть бути оптимізовані компілятором, ніж звичайні функції?
У своїй книзі The C++ Standard Library (Second Edition)Ніколай Йосуттіс зазначає, що лямбди можна краще оптимізувати компілятором, ніж звичайні функції. Крім того, компілятори C ++ оптимізують лямбдаси краще, ніж вони виконують звичайні функції. (Сторінка 213) Чому так? Я думав, що якщо мова йде про вкладиші, то більше не повинно бути …


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