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

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


4
Сколько и какие варианты использования «const» в C ++?
Как начинающему программисту на C ++, есть некоторые конструкции, которые мне кажутся очень непонятными, одна из них const. Вы можете использовать его во многих местах и ​​с таким количеством различных эффектов, что новичку практически невозможно выйти живым. Сможет ли какой-нибудь гуру C ++ однажды навсегда объяснить различные варианты использования и …
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); Но я не совсем понимаю, почему я должен использовать тот или другой. Мой личный случай: friend ostream &amp; operator&lt;&lt;(ostream …

11
Заставить GDB сохранить список точек останова
Хорошо, info break перечисляет точки останова, но не в формате, который бы хорошо работал с их повторным использованием с помощью команды --command, как в этом вопросе . Есть ли у GDB способ снова сбросить их в файл, приемлемый для ввода? Иногда в сеансе отладки необходимо перезапустить GDB после создания набора …
129 c++  c  debugging  gdb  breakpoints 

7
Полиморфизм в C ++
НАСКОЛЬКО МНЕ ИЗВЕСТНО: C ++ предоставляет три различных типа полиморфизма. Виртуальные функции Перегрузка имени функции Перегрузка оператора В дополнение к трем вышеупомянутым типам полиморфизма существуют и другие виды полиморфизма: во время выполнения время компиляции специальный полиморфизм параметрический полиморфизм Я знаю, что полиморфизм времени выполнения может быть достигнут с помощью виртуальных …

9
Назначение последовательностей триграфа в C ++?
Согласно C ++ '03 Standard 2.3 / 1: Перед выполнением любой другой обработки каждое вхождение одной из следующих последовательностей из трех символов («триграфические последовательности») заменяется одним символом, указанным в таблице 1. ---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= | # …
128 c++  c++03  trigraphs 

11
Кто спроектировал / разработал IOStreams для C ++ и будет ли он по-прежнему считаться хорошо разработанным по сегодняшним стандартам? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Во-первых, может показаться, что я прошу …
128 c++  iostream 

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 

5
Как преобразовать тип ускоренного пути в строку?
Здравствуйте, у меня сейчас есть программа, которая получает полный путь к местоположению файла и помещается в переменную типа: boost :: filesystem2 :: path Я посмотрел, как это сделать, и обнаружил, что используя: string result1 = boost::filesystem::basename (myPath) преобразует путь в строку, НО преобразует только имя файла (например, если путь - …
128 c++  boost  path 


10
Выражения-указатели: * ptr ++, * ++ ptr и ++ * ptr
Недавно я столкнулся с этой проблемой, которую сам не могу понять. Что ДЕЙСТВИТЕЛЬНО означают эти три выражения ? *ptr++ *++ptr ++*ptr Я пробовал Ричи. Но, к сожалению, не смог уследить за тем, что он рассказал об этих трех операциях. Я знаю, что все они выполняются для увеличения указателя / значения, …
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; } Я не могу понять одного: Где я мог узнать, что означает стрелка operator ( -&gt;) в заголовке функции? Я предполагаю чисто логически, что -&gt;оператор определяет тип, который …
128 c++  c++11  auto  decltype 


16
Целое число в шестнадцатеричную строку в C ++
Как преобразовать целое число в шестнадцатеричную строку в C ++ ? Я могу найти несколько способов сделать это, но они в основном ориентированы на C. Не похоже, что есть собственный способ сделать это в C ++. Однако это довольно простая проблема; У меня есть intстрока, которую я хотел бы преобразовать …
128 c++  decimal  hex  int 

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