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

128
Кто спроектировал / разработал IOStreams для C ++ и будет ли он по-прежнему считаться хорошо разработанным по сегодняшним стандартам? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Во-первых, может показаться, что я...

128
Как преобразовать тип ускоренного пути в строку?

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

128
Как преобразовать переменную типа 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 ++ ? Я могу найти несколько способов сделать это, но они в основном ориентированы на C. Не похоже, что есть собственный способ сделать это в C ++. Однако это довольно простая проблема; У меня есть intстрока, которую я хотел бы...

128
Выражения-указатели: * ptr ++, * ++ ptr и ++ * ptr

Недавно я столкнулся с этой проблемой, которую сам не могу понять. Что ДЕЙСТВИТЕЛЬНО означают эти три выражения ? *ptr++ *++ptr ++*ptr Я пробовал Ричи. Но, к сожалению, не смог уследить за тем, что он рассказал об этих трех операциях. Я знаю, что все они выполняются для увеличения указателя /...

128
стрелка (->) в заголовке функции

Я наткнулся на следующий код: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Я не могу понять одного: Где я мог узнать, что означает стрелка operator ( ->) в заголовке функции? Я предполагаю чисто логически, что ->оператор определяет...

127
Почему не удалить указатель на NULL?

Мне всегда было интересно, почему автоматическая установка указателя на NULL после удаления не входит в стандарт. Если об этом позаботиться, то многих сбоев из-за неправильного указателя не произойдет. Но, сказав это, я могу придумать пару причин, по которым стандарт ограничил бы это:...

127
Что нужно для компиляции с / MD или / MT?

В Visual Studio есть флаги компиляции / MD и / MT, которые позволяют вам выбрать, какой тип библиотеки времени выполнения C. Я понимаю разницу в реализации, но все еще не уверен, какую из них использовать. Какие плюсы / минусы? Одно из преимуществ / MD, о котором я слышал, заключается в том, что...

127
Лучшее средство форматирования / украшения кода C ++

Заблокировано . Этот вопрос и ответы на него заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Существует множество инструментов для форматирования исходного кода. Какие из них лучше всего подходят для C...

127
Есть ли способ указать, сколько символов строки нужно распечатать с помощью printf ()?

Есть ли способ указать, сколько символов строки нужно распечатать (аналогично десятичным разрядам в ints)? printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars"); Хотел бы распечатать: Here are the first 8 chars: A...

127
Что делают линкеры?

Мне всегда было интересно. Я знаю, что компиляторы преобразуют код, который вы пишете, в двоичные файлы, но что делают компоновщики? Они всегда были для меня загадкой. Я примерно понимаю, что такое «связывание». Это когда в двоичный файл добавляются ссылки на библиотеки и фреймворки. Я ничего не...

127
Условия для автоматического создания оператора по умолчанию / копирования / перемещения и оператора присваивания копирования / перемещения?

Я хочу освежить свою память об условиях, при которых компилятор обычно автоматически генерирует конструктор по умолчанию, конструктор копирования и оператор присваивания. Я припоминаю, что были некоторые правила, но я не помню, а также не могу найти авторитетный ресурс в Интернете. Кто-нибудь может...

127
Что произойдет, если я определю массив нулевого размера в C / C ++?

Просто любопытно, что на самом деле произойдет, если я определю int array[0];в коде массив нулевой длины ? GCC вообще не жалуется. Пример программы #include <stdio.h> int main() { int arr[0]; return 0; } осветление На самом деле я пытаюсь выяснить, оптимизированы ли массивы нулевой длины,...

127
Когда в C ++ 11 сделать тип неподвижным?

Я был удивлен, что это не появилось в моих результатах поиска, я подумал, что кто-то спросил бы об этом раньше, учитывая полезность семантики перемещения в C ++ 11: Когда мне нужно (или это хорошая идея) сделать класс неподвижным в C ++ 11? (Причины, отличные от проблем совместимости с существующим...

127
Что происходит с глобальными и статическими переменными в разделяемой библиотеке, когда она динамически связана?

Я пытаюсь понять, что происходит, когда модули с глобальными и статическими переменными динамически связываются с приложением. Под модулями я подразумеваю каждый проект в решении (я много работаю с Visual Studio!). Эти модули либо встроены в * .lib, либо * .dll, либо в сам * .exe. Я понимаю, что...