Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661

Строки в С++ Современный подход

01.10.2018, 08:46. Показов 2826. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Какой все же современный подход к работе со строками в С++?
В С существовали только нуль-терминированные строки типа char[n] s; в conio.h
Потом в С++ была предложена система потоковых классов вверху которой были
ios c подклассами istream ostream и streambuf
До сих пор в т.н. олимпиадном программировании для школьников придердиваются технологии чтения и записи в файл через
C++
1
2
3
4
5
6
7
 ifstream inp;ofstream out;
 inp.open("input.txt");
inp >>n;
 inp.close();
 out.open("out3.txt");
 out <<s<<endl; 
out.close();
были приемчики типа cin.getline
Но вот появилось NET с своей иерархией классов и пространствами имен
System::IO с классами Stream ,BufferedStream FileStream, MemoryStream StreaMReader, StreamWriter ...
и System::String c cвоим типом String но методами отличными от типа String в Сstring.h
------------------------------------------------------------------------------------------------------------------
Ну и каков будет совет опытных программистов для обучения С++
Задачи на строки были всегда начиная с раннего С. В каком стиле их решать?
Могу лишь заметить что учебные пособия для студентов пишутся обтекаемо,
так в Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» c учебником
"Учимся программировать на Microsoft Visual C++ и Turbo C++ Explorer (под общ ред Чесноковой О. В.) / Алексеев Е. Р. - М.: НТ Пресс, 2007." -
задачи на строки просто обходятся.Есть только тип на текстовые и двоичные файлы
(несмотря на мой взгляд на довольно богатый выбор типов задач лоя студ - (в частности на линейную алгебру)
------------------------------------------------------------------------------------------------------------------------------------

Мне конечно ясно, что обучение С++ ведется по разному. Скажем школьников любят учить на оболочке CodeBlocks в которй естественно
нет классов NET, но вот для студентов в осн используют Visual Studio NET.
Значит ли это что методики обучения программированию для школьников и студентов в части строк должны отличаться?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2018, 08:46
Ответы с готовыми решениями:

Каков современный подход для работы со строками
Здравствуйте, хотел узнать современный подход для работы со строками. В С++ так же используется библиотека #include &lt;string&gt;, а...

Объектный подход...
//--------------------------------------------------------------------------- #pragma hdrstop #include &lt;tchar.h&gt; #include...

Подход к изучению программирования
Здравствуйте уважаемые программисты, как начинающие, так и профессионалы! Моя жизнь скучна, у меня нет увлечений, от меня нет пользы. ...

37
01.10.2018, 12:46
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
P.S. Это ему к Рафе надо.
кто такой Рафа?

0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
01.10.2018, 12:51
Цитата Сообщение от eugrita Посмотреть сообщение
C++ 1z - вроде только разрабатывется
Что было, что будет и чем сердце успокоится
https://isocpp.org/std/status
Миниатюры
Строки в С++ Современный подход  
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
01.10.2018, 12:58
Цитата Сообщение от politoto Посмотреть сообщение
Если курс математически-алгоритмический
Но не знать как называется язык, которому ты учишь - явный перебор даже в этом случае.
0
01.10.2018, 13:03

Не по теме:

Цитата Сообщение от hoggy Посмотреть сообщение
кто такой Рафа?
Персонаж один, альтернативного склада ума. Обитал в ветках C++ и Java, но слабо представлял разницу между этими языками. Почти каждая его тема была бесплатным цирковым представлением.

0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
01.10.2018, 14:17
Цитата Сообщение от eugrita Посмотреть сообщение
Я хочу остановиться на одной стандартной, чтобы это не было слишком устаревшей и обучить типовым приемам
Видимо все же это потоковый ввод вывод iostream ifstream ofstream, cin. cout
Если не умничать, то да. С мелкими, но приятными удобствами.
https://en.cppreference.com/w/... /to_string
https://en.cppreference.com/w/... m_iterator
Расскажите этот ресурс студентам, покажите там онлайн-компилятор, которым можно проверить примеры, и студенты сами Вас всему остальному научат.
0
01.10.2018, 14:26

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
Обитал в ветках C++ и Java
А еще он C++/CLI хотел внедрять в университете.

0
01.10.2018, 19:23

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
А еще он C++/CLI хотел внедрять в университете.
Как вы думаете, это может быть заразной болезнью?

0
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
01.10.2018, 22:36  [ТС]
Вот с этим утверждением poliloto я опять согласен. Все зависит даже не от современного состояния стандартов С++ а от целей курса. В ВУЗах как правило ,курсы не профессиональные а математически-алгоритмические привязанные к высшей математике и информатике. То же самое тем более в олимпиадном программировании
. И там конечно не надо всех возможностей языка, тем более различий диалектов.
В части ввода-вывода с головой хватит ifstreamofstream << >>;
А вот профессиональное изучение, интересно где? покажите мне такой курс.
А если говорить о доступе к базах данных, пресловутой ADO - так ее в ВУЗах почти не учат. А если учат то где-то на Delphi
Правда есть вроде колледж (не ВУЗ) при ВШЭ где вроде учат ADO NET

Добавлено через 9 минут
Благодарю всех за обсуждение. Меня полезно было ткнуть носом в стандарт C++1z В последнее время я увлекся олимпиадным программированием, алгоритмическими задачами и пренебрегал профессиональными приложениями. Хотя на С++ Builder еже в 200702008 гг реализовал систему тестирования в ВУЗе (клиент-серверное приложение) под SQL Server
0
Эксперт .NET
 Аватар для Usaga
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
02.10.2018, 06:31
Цитата Сообщение от eugrita Посмотреть сообщение
Правда есть вроде колледж (не ВУЗ) при ВШЭ где вроде учат ADO NET
ADO.NET - это пять классов (SqlConnection, SqlCommand, SqlDataReader, SqlTransaction (или TransactionScope) и SqlParameter). Людей, которым для их изучения отдельный колледж нужен, я бы к компьютерам не подпускал даже для переписки во вконтакте.
1
02.10.2018, 08:24

Не по теме:

Достаточно скачать и прочитать на досуге брошюрку на полтысячи страничек.
https://docs.microsoft.com/en-... ranch=live

0
02.10.2018, 09:15

Не по теме:

Вообще нет. Достаточно посмотреть документацию на эти классы. Там же и примеры есть. И всё крайне просто.

А всякие Entity Framework, язык SQL, маппинги и прочее, уже не входят в ADO.NET. И написание своего ADO.NET Provider тоже вряд ли подразумевалось. Т.е. по факту, изучения там на вечер и две кружки кофе.

0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.10.2018, 12:56
А мне С++/CLI нравится (для обучения ООП). Есть кучка готовых разнообразных классов (интерфейсы там всякие и тд). + немного знакомит с классами .Net, также есть формочки (WinForms) и мощная IDE.

Добавлено через 2 минуты
Очень удобно для написания лаб
0
Эксперт .NET
 Аватар для Usaga
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
02.10.2018, 12:57
lArtl, ну так всё тоже самое есть и в "чистом" C#. Просто для меня С++/CLI выглядит как китайский негр из Болгарии.
0
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
02.10.2018, 13:02
Цитата Сообщение от Usaga Посмотреть сообщение
lArtl, ну так всё тоже самое есть и в "чистом" C#. Просто для меня С++/CLI выглядит как китайский негр из Болгарии.
В чистом C# нет всех прелестей работы с указателями, получения навыков интегрирования native`ого C++ кода в .Net) Это прекрасно)

Добавлено через 39 секунд
P/Invoke не в счет)
0
02.10.2018, 13:26

Не по теме:

Ещё осталось туда JVM прикрутить... 8-)
Был бы супер-язык с 6 вариантами интеграции кода

0
02.10.2018, 14:38

Не по теме:

politoto, и Qt, вместе с QML :D

0
Эксперт .NET
 Аватар для Usaga
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,725
02.10.2018, 14:40
Цитата Сообщение от lArtl Посмотреть сообщение
В чистом C# нет всех прелестей работы с указателями
А оно так нужно?)
0
02.10.2018, 14:44

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
А оно так нужно?
Спросил бы у любителей C, они бы объяснили.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2018, 14:44

Наивный подход CRC-32
Объясните пожалуйста что делает каждая строчка функции в наивном подходе CRC-32. static uint32_t crc32_naive(uint8_t *buf) { ...

Подскажите подход к решению
Добрый вечер. Есть задача из книги Страуструпа для начинающих. Решение должно быть реализовано на основе библиотеки FLTK и написанных...

Параллельное программирование (конвейерный подход)
Здравствуйте форумчане, выручите подскажите в чем заключается распараллеливание с помощью конвейерного подхода?Суть моей задачи заключается...

сессия.Какой подход к программированию используется на языке С++
1.Какой подход к программированию используется на языке С++? Основные понятия, семантика, синтаксис 2.Для каких целей используются...

Современный borland C
Добрый день! Для обучения многие годы использовалась среда программирования Borland C. Но сейчас она уже устарела и не поддерживается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru