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

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

5
Доступ до неактивного члена профспілки та невизначена поведінка?
У мене склалося враження, що доступ до іншого unionчлена, окрім останнього набору, є UB, але я не можу знайти чітку довідку (крім відповідей, що стверджують, що це UB, але без підтримки стандарту). Отже, чи не визначена поведінка?


9
Коли і чому компілятор ініціалізує пам'ять до 0xCD, 0xDD і т.д. на malloc / free / new / delete?
Я знаю, що компілятор іноді ініціалізує пам'ять з певними шаблонами, такими як 0xCDі 0xDD. Я хочу знати, коли і чому це відбувається. Коли Чи використовується ця специфіка для компілятора? Є malloc/newі free/deleteроботу таким же чином , щодо цього? Це конкретна платформа? Чи відбудеться це в інших операційних системах, таких як …

4
Скільки і для чого використовує “const” у C ++?
Як початківець програміст на C ++, є деякі конструкції, які мені здаються дуже незрозумілими, одна з них - це const. Ви можете використовувати його в дуже багатьох місцях і з такою кількістю різних ефектів, що початківцю практично неможливо вийти живим. Чи пояснить якийсь гуру С ++ один раз назавжди різні …
129 c++  const 


8
Чи повинен оператор << реалізовуватися як друг або як член-функція?
Це в основному питання, чи є "правильний" спосіб реалізації operator&lt;&lt;? Читаючи це, я можу побачити щось подібне: friend bool operator&lt;&lt;(obj const&amp; lhs, obj const&amp; rhs); вважається за краще щось подібне ostream&amp; operator&lt;&lt;(obj const&amp; rhs); Але я не можу зовсім зрозуміти, чому я повинен використовувати те чи інше. Моя особиста справа: …


30
Як перетворити змінну типу enum у рядок?
Як зробити printf, щоб відобразити значення змінних, які мають перелік? Наприклад: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; і мені потрібно щось подібне printenum(OS_type, "My OS is %s", myOS); який повинен показувати рядок "Linux", а не ціле число. Я думаю, спочатку я повинен створити масив рядків з …
128 c++  c  preprocessor  ansi-c 


10
Вирази вказівника: * ptr ++, * ++ ptr та ++ * ptr
Нещодавно я стикався з цією проблемою, яку я не в змозі зрозуміти сам. Що дійсно означають ці три вирази ? *ptr++ *++ptr ++*ptr Я спробував Річі. Але, на жаль, не зміг слідкувати за тим, що він розповів про ці 3 операції. Я знаю, що всі вони виконуються для збільшення покажчика …
128 c++  c  pointers  increment 

2
оператор стрілки (->) у заголовку функції
Я натрапив на такий код: template &lt;typename T, typename T1&gt; auto compose(T a, T1 b) -&gt; decltype(a + b) { return a+b; } Є одне, чого я не можу зрозуміти: Де я міг дізнатися, що означає оператор стрілки ( -&gt;) у заголовку функції? Я думаю, що логічно, що -&gt;оператор визначає …
128 c++  c++11  auto  decltype 

12
Чому не видалити встановити вказівник на NULL?
Мені завжди було цікаво, чому автоматичне встановлення покажчика на NULL після видалення не є частиною стандарту. Якщо це вирішиться, тоді багато збоїв через недійсний покажчик не відбудуться. Але сказавши, що я можу придумати кілька причин, чому стандарт обмежив би це: Продуктивність: Додаткова інструкція може уповільнити deleteпродуктивність. Можливо, через constпокажчики. Тоді …

7
Що станеться, якщо я визначу масив розміром 0 у C / C ++?
Цікаво, що насправді відбувається, якщо я визначу масив нульової довжини int array[0];в коді? GCC взагалі не скаржиться. Зразок програми #include &lt;stdio.h&gt; int main() { int arr[0]; return 0; } Уточнення Я насправді намагаюся з’ясувати, чи ініціалізовані таким чином масиви нульової довжини, замість того, щоб вказувати, як змінна довжина в коментарях …
127 c++  c  arrays 

9
Призначення триграфських послідовностей у С ++?
Відповідно до стандарту C ++ '03 2.3 / 1: Перш ніж проводити будь-яку іншу обробку, кожне виникнення однієї з наступних послідовностей з трьох символів ("послідовності триграфа") замінюється одним символом, зазначеним у таблиці 1. ---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= …
127 c++  c++03  trigraphs 

11
Хто архітектурно розробляв C ++ IOStreams, і чи вважатиметься він добре розробленим за сьогоднішніми стандартами? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, редагуючи цю публікацію . Закрито 2 роки тому . Удосконаліть це питання По-перше, може здатися, що я прошу суб'єктивних думок, але це не …
127 c++  iostream 

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