5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661

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

01.10.2018, 08:46. Показов 2837. Ответов 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
14727 / 9503 / 1362
Регистрация: 21.01.2016
Сообщений: 35,830
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
14727 / 9503 / 1362
Регистрация: 21.01.2016
Сообщений: 35,830
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
14727 / 9503 / 1362
Регистрация: 21.01.2016
Сообщений: 35,830
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru