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

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

9
Чому використання «нового» викликає протікання пам’яті?
Спочатку я засвоїв C #, а зараз я починаю з C ++. Як я розумію, оператор newв C ++ не схожий на той, що знаходиться в C #. Чи можете ви пояснити причину витоку пам’яті в цьому прикладі коду? class A { ... }; struct B { ... }; A …


13
система ("пауза"); - Чому це неправильно?
Ось питання, яке я не зовсім розумію: Команда system("pause");вивчається новими програмістами як спосіб призупинити програму і чекати, коли введення з клавіатури продовжиться. Однак, здається, багато хто з ветеранів-програмістів нахмуриться як щось, що не слід робити в різній мірі. Деякі люди кажуть, що це добре використовувати. Деякі кажуть, що використовувати його …
131 c++ 

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

4
перетворення від bool до int
Наскільки портативно це перетворення. Чи можу я бути впевнений, що обидва твердження проходять? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); Не питайте, чому. Я знаю, що це некрасиво. Дякую.
131 c++  c  c99 

3
Що означає потік_локалу в C ++ 11?
Мене плутають з описом thread_localв C ++ 11. Наскільки я розумію, кожен потік має унікальну копію локальних змінних у функції. До глобальних / статичних змінних можна отримати доступ до всіх потоків (можливо, синхронізований доступ за допомогою блокування). І thread_localзмінні видимі для всіх потоків, але можуть змінюватися лише тим потоком, для …

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

10
Об'єднання ниток в C ++ 11
Відповідні питання : Про C ++ 11: C ++ 11: std :: об'єднано нитку? Чи зробить async (запуск :: async) в C ++ 11 пули потоків застарілими, щоб уникнути створення дорогих ниток? Про Boost: C ++ посилення потоку повторного використання потоків boost :: thread і створення пулу з них! Як …

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

6
Що робить Visual Studio зі видаленим покажчиком і чому?
Книга C ++, яку я читав, говорить про те, що при видаленні вказівника за допомогою deleteоператора пам'ять у місці, на яке він вказує, "звільняється", і його можна перезаписати. Тут також зазначено, що покажчик продовжуватиме вказувати на те саме місце, поки не буде призначений або встановлений на нього NULL. Однак у …

4
Яка мета унарного "+" перед викликом до std :: numeric_limits <неподписаних 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 



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

14
Чому функції покажчиків та покажчиків даних несумісні в C / C ++?
Я читав, що перетворення покажчика функції на покажчик даних і навпаки працює на більшості платформ, але не гарантовано. Чому це так? Чи не повинні обидва бути просто адресами в основну пам'ять і тому бути сумісними?

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