| 21.09.2014, 17:33 | |
|
Ответы с готовыми решениями:
73
Вывести самые распространенные женские и мужские имена
Ошибки после компиляции на Visual Express 2012.Ошибки в теме |
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 05.03.2018, 01:38 | ||||||
|
zss, не совсем понимаю в чем проблемность этой конструкции? cin игнорирует же символ конца строки. На двух компиляторах у меня проблем не возникает, может я просто чего то недопонимаю.
0
|
||||||
|
Модератор
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,227
|
|||||||||||
| 05.03.2018, 06:54 [ТС] | |||||||||||
|
QuakerRUS, а попробуйте
1
|
|||||||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|||||||||||||||||||||
| 05.03.2018, 16:11 | |||||||||||||||||||||
|
zss, на счет этих двух вариантов, да, согласен. cin оставляет в потоке символ конца страницы, а cin.get и cin.getline его считывают и получают пустое значение в итоге. Речь была именно о том варианте, где два cin, он указан в распространенных ошибках.
Добавлено через 1 час 4 минуты zss, в нижних двух примерах проблема так же будет наблюдаться, когда число вводится перед нажатием Enter
zss, в исправлении к этой ошибке в шестой строчке тоже старый вариант.
zss, я имел ввиду, что
1
|
|||||||||||||||||||||
|
Комп_Оратор)
|
|||||||||||
| 05.05.2020, 12:39 | |||||||||||
|
Прошу прощения, но не нашёл более подходящей рубрики. Надеюсь Сергей Сергеевич найдёт этому место, если сочтёт нужным.
Ошибка очень простая, но стакан крови может выпить легко) Бывает что хочется создать счетчики циклов вне цикла. Это бывает оправдано если значения требуются после выполнения циклов.
0
|
|||||||||||
|
Модератор
8975 / 6741 / 921
Регистрация: 14.02.2011
Сообщений: 23,838
|
|||||||||||||||||
| 05.05.2020, 12:49 | |||||||||||||||||
вывод всегда нужно присваивать в шапке цикла начальное значение
2
|
|||||||||||||||||
|
Комп_Оратор)
|
||
| 05.05.2020, 13:16 | ||
|
В отладке он сегодня сгинул, ИтератОр не забегинил!
0
|
||
|
Вездепух
12912 / 6781 / 1816
Регистрация: 18.10.2014
Сообщений: 17,159
|
||||||||||||||||||||||||||
| 17.08.2020, 04:58 | ||||||||||||||||||||||||||
|
Наивный подход к записи сложных объектов в бинарный файл
Работа с объектом, как с плоской непрерывной конечной последовательностью байтов, в таких контекстах, как, например, копирование при помощи memcpy или запись в бинарный файл, возможна только в том случае, если объект по своей сути действительно представляет собой тривиальную "плоскую" последовательность байтов. Например, такие типы как int или
B [20] являются примерами таких "плоских" типов. Это, в частности, означает то, что такие объекты можно смело записывать в бинарный файл и читать оттуда "одним махом", при помощи единственного вызова функции ввода-вывода1. Например
Нетривиальная внутренняя структура может возникнуть в объекте и неявным образом. Например, наличие в классе виртуальных методов или виртуальных базовых классов - это уже явное противопоказание против попыток тривиальной записи соответствующих объектов в бинарный файл, даже если в некоторых реализациях такие попытки могут приводить к работоспособным результатам 4. Также примерами типов с нетривиальной внутренней структурой являются типы, о внутренней структуре которых нам формально ничего не известно (и не должно быть известно). Например, внутренняя структура стандартных классов std::string или std::vector является деталью реализации и нас совершенно не касается. Это означает, что пытаться записывать в файл объекты типа std::string через
C содержит в себе подобъекты типа std::vector и str::string.Для того, чтобы правильно записать в файл такой сложный объект необходимо разработать специальный протокол/формат сериализации, т.е. аккуратно последовательно сохранить в файл все отдельные "кусочки" информации, которые в будущем позволят точно восстановить объект из файла в процессе чтения. Как правило это не получится сделать одной операцией записи/чтения. Таких операций понадобится несколько. Например, запись в бинарный файл и последующее чтение из бинарного файла объекта типа std::string может выглядеть следующим образом
--- 1) При этом, разумеется, нужно помнить, что такой способ записи работоспособен/портабелен только в рамках одной стабильной реализации (компилятора) языка С++ и набора настроек этого компилятора. Смена компилятора (или просто смена настроек компилятора) запросто может привести к изменению расположения элементов таких типов в памяти, размеров этих элементов и других деталей их бинарного представления, что приведет к тому, что ранее записанный бинарный файл станет нечитаемым (или потребует нетривиальных усилий для чтения). 2) Объект может содержать и указатели на самого себя 3) Однако если вы абсолютно стопроцентно уверены, что значение указателя останется актуальным с момента записи и до момента чтения, то указатель можно записывать в бинарный файл. Понятно, что такое возможно только для короткоживущих файлов: временных scratch-файлов или swap-файлов, как их обычно называют. 4) Можно добавить, что типы, не удовлетворяющие стандартному свойству std::is_trivially_copyable не совместимы с тривиальным способом записи. Однако требование std::is_trivially_copyable является лишь необходимым, не не достаточным условием возможности такой записи. Классы с указателями внутри запросто могут удовлетворять std::is_trivially_copyable, но все равно требовать нетривиальной записи.5) Не все стандартные типы являются такими "черными ящиками". Например, объекты стандартного класса std::array являются агрегатами и их можно смело записывать в файл "одним махом". Разумеется, при условии, что элементы массива std::array тоже допускают такой способ записи.
9
|
||||||||||||||||||||||||||
|
Модератор
8975 / 6741 / 921
Регистрация: 14.02.2011
Сообщений: 23,838
|
|
| 25.11.2020, 17:00 | |
|
0
|
|
| 25.11.2020, 17:23 | |
|
0
|
|
|
|
|
| 25.11.2020, 17:38 | |
|
Поспешил... У ТС эта тема уже озвучена:
Распространенные ошибки Croessmah, разница между ошибкой и опечаткой очень тонкая. Тем более, что есть еще оплошности и промахи.
0
|
|
| 25.11.2020, 19:30 | |
|
0
|
|
|
|
|
| 25.11.2020, 20:56 | |
|
Кстати, вот книга на тему:
How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 by Steve Oualline ISBN:1886411956
0
|
|
| 25.11.2020, 20:56 | |
|
Помогаю со студенческими работами здесь
74
Распространенные ошибки безопасность и распространенные ошибки безопасность и распространенные ошибки Распространенные ошибки SEO и ASP.NET 2.0 Самые распространенные строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
|
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
|
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
|
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
|
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
|
|
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7
Чтобы решить задачу, использовал интернет:
поисковики Google и Yandex, а также подсказки Deep Seek.
Как оказалось, чтобы создать. . .
|
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
|
Последние результаты исследования от команды MCM (октябрь 2025 г.)
Programma_Boinc 29.10.2025
Последние результаты исследования от команды MCM (октябрь 2025 г. )
Поскольку мы продолжаем изучать гены, которые играют ведущую роль в развитии рака, в рамках проекта "Картирование раковых. . .
|
Мысли в слух
kumehtar 29.10.2025
Обнаружил, что мысли лучше писать короткими фразами. Таким образом внимание читателя успевает охватить всю фразу сразу, за один раз, не соскакивая и не прерываясь. А если писать это длинным текстом,. . .
|
Побитовые операторы в Python
AI_Generated 28.10.2025
Побитовые операторы - это не реликт эпохи, когда каждый байт был на вес золота. Да, сейчас оперативка стоит копейки, но задачи изменились. Вместо экономии памяти приходится решать другие проблемы:. . .
|