| 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
|
||||||
|
Модератор
13789 / 10981 / 6492
Регистрация: 18.12.2011
Сообщений: 29,283
|
|||||||||||
| 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
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||||||||||||
| 05.05.2020, 12:49 | |||||||||||||||||
вывод всегда нужно присваивать в шапке цикла начальное значение
2
|
|||||||||||||||||
|
Комп_Оратор)
|
||
| 05.05.2020, 13:16 | ||
|
В отладке он сегодня сгинул, ИтератОр не забегинил!
0
|
||
|
Вездепух
13214 / 6847 / 1825
Регистрация: 18.10.2014
Сообщений: 17,329
|
||||||||||||||||||||||||||
| 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
|
||||||||||||||||||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 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 | |
|
Распространенные ошибки безопасность и распространенные ошибки безопасность и распространенные ошибки Распространенные ошибки SEO и ASP.NET 2.0 Самые распространенные строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|