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

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



2
Подразумевает ли constexpr встроенный?
Рассмотрим следующую встроенную функцию: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } и версия, эквивалентная constexpr: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr int …

2
Как std :: move () передает значения в RValues?
Я просто обнаружил, что не до конца понимаю логику std::move(). Сначала я погуглил, но похоже, что есть только документы о том, как использовать std::move(), а не о том , как работает его структура. Я имею в виду, что я знаю, что такое функция-член шаблона, но когда я смотрю на std::move()определение …




13
Почему невозможно создать компилятор, который может определить, изменит ли функция C ++ значение определенной переменной?
Я прочитал эту строчку в книге: Доказано, что невозможно создать компилятор, который действительно может определить, изменит ли функция C ++ значение определенной переменной. В абзаце говорилось о том, почему компилятор консервативен при проверке константности. Почему невозможно построить такой компилятор? Компилятор всегда может проверить, переназначена ли переменная, для нее вызывается неконстантная …

8
Как проверить поддержку C ++ 11?
Есть ли способ определить во время компиляции, поддерживает ли компилятор определенные функции C ++ 11? Например, примерно так: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
104 c++  c++11 

10
Законно ли индексировать структуру?
Независимо от того, насколько «плохой» код и если предположить, что выравнивание и т. Д. Не является проблемой для компилятора / платформы, является ли это неопределенным или неправильным поведением? Если у меня есть такая структура: - struct data { int a, b, c; }; struct data thing; Является ли это законным …
104 c++  c  struct 

7
Почему argc не является константой?
int main( const int argc , const char[] const argv) Поскольку в пункте № 3 эффективного C ++ сказано: «По возможности используйте const», я начинаю думать: «Почему бы не сделать эти« постоянные »параметры const?». Есть ли какой-нибудь сценарий, при котором значение argcизменяется в программе?
104 c++  const  main  argc  effective-c++ 

13
Определение того, кратно ли число десяти или находится в пределах определенного набора диапазонов
У меня есть несколько циклов, которые мне нужны в моей программе. Я могу написать псевдокод, но я не совсем уверен, как писать их логически. Я нуждаюсь - if (num is a multiple of 10) { do this } if (num is within 11-20, 31-40, 51-60, 71-80, 91-100) { do this …

14
Использование предварительно скомпилированных заголовков с CMake
Я видел несколько (старых) сообщений в сети о том, как совместить некоторую поддержку предварительно скомпилированных заголовков в CMake. Все они кажутся немного разрозненными, и у каждого свой способ делать это. Как лучше всего это сделать в настоящее время?

4
логический оператор ++ и -
Сегодня, когда я писал код Visual C ++, я натолкнулся на кое-что, что меня удивило. Кажется, C ++ поддерживает ++ (приращение) для bool, но не - (декремент). Это случайное решение или есть причина? Это компилирует: static HMODULE hMod = NULL; static bool once = false; if (!once++) hMod = LoadLibrary("xxx"); …
104 c++  boolean  increment 

2
boost :: flat_map и его производительность по сравнению с map и unordered_map
В программировании общеизвестно, что расположение памяти значительно улучшает производительность из-за попаданий в кеш. Недавно я узнал, boost::flat_mapкакая реализация карты является векторной. Кажется, он не так популярен, как ваш типичный map/ unordered_mapпоэтому мне не удалось найти никаких сравнений производительности. Как он сравнивается и каковы наилучшие варианты использования? Спасибо!
104 c++  boost  map 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.