Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.


4
Можно ли намекнуть оптимизатору, указав диапазон целого числа?
Я использую intтип для хранения значения. В соответствии с семантикой программы значение всегда изменяется в очень небольшом диапазоне (0 - 36), и int(не a 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
В новом языке Go , как я могу назвать код C ++? Другими словами, как я могу обернуть свои классы 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.