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

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


13
Система ( «пауза»); - Почему это не так?
Вот вопрос, который я не совсем понимаю: Эта команда system("pause");преподается новым программистам как способ приостановить программу и дождаться продолжения ввода с клавиатуры. Однако многие опытные программисты, похоже, не одобряют это, как то, что не следует делать в той или иной степени. Некоторые люди говорят, что это нормально. Некоторые говорят, что …
131 c++ 

3
Что означает thread_local в C ++ 11?
Меня смущает описание thread_localв C ++ 11. Насколько я понимаю, каждый поток имеет уникальную копию локальных переменных в функции. К глобальным / статическим переменным могут получить доступ все потоки (возможно, синхронный доступ с использованием блокировок). И thread_localпеременные видны всем потокам, но могут быть изменены только тем потоком, для которого они …

8
Официально для чего нужен typename?
Иногда я видел несколько действительно неразборчивых сообщений об ошибках, выплевывающих gccпри использовании шаблонов ... В частности, у меня были проблемы, когда кажущиеся правильными объявления вызывали очень странные ошибки компиляции, которые волшебным образом исчезали, добавляя typenameключевое слово в начале объявление ... (Например, буквально на прошлой неделе я объявлял два итератора как …
131 c++  templates 

10
Пул потоков в C ++ 11
Актуальные вопросы : О C ++ 11: С ++ 11: пул std :: thread? Будет ли async (launch :: async) в C ++ 11 делать пулы потоков устаревшими, чтобы избежать создания дорогостоящих потоков? О Boost: C ++ boost thread повторное использование потоков boost :: thread и создание их пула! Как …

4
Какие каталоги GCC включают по умолчанию?
Когда я компилирую очень простой исходный файл с помощью gcc, мне не нужно указывать путь к стандартным включаемым файлам, таким как stdio или stdlib. Откуда GCC знает, как найти эти файлы? Есть ли /usr/includeвнутри него путь, или он получит пути от других компонентов ОС?
131 c++  c  linux  gcc  include-path 

2
Как установить начальный размер std :: vector?
У меня есть, vector<CustomClass*>и я помещаю много элементов в вектор, и мне нужен быстрый доступ, поэтому я не использую список. Как установить начальный размер вектора (например, 20 000 разрядов, чтобы не копировать при вставке нового)?
131 c++  stl 

5
Когда использовать volatile с многопоточностью?
Если есть два потока, обращающихся к глобальной переменной, то во многих руководствах говорится, что переменная должна быть изменчивой, чтобы компилятор не кэшировал переменную в регистре и, таким образом, не обновлялся правильно. Однако два потока, оба обращающиеся к общей переменной, - это то, что требует защиты через мьютекс, не так ли? …

20
ошибка LNK2038: обнаружено несоответствие для '_ITERATOR_DEBUG_LEVEL': значение '0' не соответствует значению '2' в main.obj
Я прочитал много решений моей проблемы, но ни одно из них не помогло. Я пробовал почистить, пересобрать. Переустановил Visual 2010 и сменил профессиональный на окончательный. Но все же я не знаю, почему у меня эта ошибка. Мой проект выглядит так: 1 Exe Решение для тестирования моей статической библиотеки. 1 статическая …
131 c++  debugging  linker 

4
преобразование bool в int
Насколько портативно это преобразование. Могу ли я быть уверен, что оба утверждения верны? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); Не спрашивайте почему. Я знаю, что это некрасиво. Спасибо.
131 c++  c  c99 

10
Что такое thunk?
Я видел его использование в программировании (особенно в области C ++) и понятия не имею, что это такое. Предположительно это шаблон дизайна, но я могу ошибаться. Кто-нибудь может привести хороший пример преобразователя?
131 c++  thunk 


6
Что Visual Studio делает с удаленным указателем и почему?
В книге на C ++, которую я читал, говорится, что когда указатель удаляется с помощью deleteоператора, память в том месте, на которое он указывает, «освобождается» и может быть перезаписана. В нем также указано, что указатель будет продолжать указывать на то же место, пока он не будет переназначен или установлен на …

4
Какова цель унарного «+» перед вызовом членов std :: numeric_limits <unsigned char>?
Я видел этот пример в документации cppreference дляstd::numeric_limits #include &lt;limits&gt; #include &lt;iostream&gt; int main() { std::cout &lt;&lt; "type\tlowest()\tmin()\t\tmax()\n\n"; std::cout &lt;&lt; "uchar\t" &lt;&lt; +std::numeric_limits&lt;unsigned char&gt;::lowest() &lt;&lt; '\t' &lt;&lt; '\t' &lt;&lt; +std::numeric_limits&lt;unsigned char&gt;::min() &lt;&lt; '\t' &lt;&lt; '\t' &lt;&lt; +std::numeric_limits&lt;unsigned char&gt;::max() &lt;&lt; '\n'; std::cout &lt;&lt; "int\t" &lt;&lt; std::numeric_limits&lt;int&gt;::lowest() &lt;&lt; '\t' &lt;&lt; std::numeric_limits&lt;int&gt;::min() &lt;&lt; …
130 c++  char  unary-operator 


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