|
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
Хочется узнать мнения новичков25.01.2020, 23:29. Показов 6780. Ответов 144
Метки нет (Все метки)
Доброго времени суток.
Вопрос такого плана, есть идея записать серию обучающих уроков по c++ stl. Прям с нуля так сказать "Привет мир". Формат вещание на ютубе с чатом в скайпе (но это обсуждается). Вообще такая потребность есть или я не в тот огород лезу и пойду свое чсв где то в другом месте реализовывать?
1
|
|
| 25.01.2020, 23:29 | |
|
Ответы с готовыми решениями:
144
Хочется услышать мнения Оцените конфиг, собрал сам, хочется мнения со стороны людей, более сведующих в данной сфере хочу узнать ваши мнения. |
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 27.01.2020, 00:21 | ||
![]() Но никто не оценил )
0
|
||
| 27.01.2020, 00:23 | |
|
0
|
|
|
Комп_Оратор)
|
||
| 27.01.2020, 00:30 | ||
|
Mesteriis,
Крнтейнеры стандартной библиотеки (или как раньше - stl) многоуровневая тема. От первых шагов до определённого уровня совершенства - много ступеней. На каждой - пересмотр известного материала на новом уровне. В этом нет ни чего нового, но к теме это может относиться вот как. Нужно определиться с целевой аудиторией, а значит с целью. Вот например, достаточно интересный (на правах саморекламы, но без ложной скромности ) комбайн - многофункциональное множество на общем хранилище, построенное из списков и вектора. https://www.cyberforum.ru/blog... g4772.html В принципе, аудитория есть. Полтора килопросмотра и более сотни скачиваний ( 6,7 процента тех кого зацепило посмотреть поближе ), это хорошо. Учитывая, что это не новичковский материал, - хорошо, я считаю. Но это не текст для массового читателя. Я это к тому, что если начать с задачи проектирования, то новички уснут. А они (контеёнеры) - шаблоны проектирования, кстати. И задача борбы с зависимостями в решении задач массовых алгоритмов, построенных на проходе коллекций, - суть темы. Алгоритмы, хранилища (контейнеры) и итераторы - три разделённых инструмента. Обобщения предоставляют комфорт и снижают эффективность. Везде, где можно отказаться от обобщения в пользу специализации - выигрыш. Трудное но диалектическое противоречие. Итераторы и возможная потеря валидности. Итераторы и cv квалификаторы. Стратегии распределения памяти и пользовательские аллокаторы. Контейнеры указателей базового класса. Контейнеры умных указателей. Контейнеры и другие паттерны проектирования. Это перечисленные отрывисто крохи. И всё это не имеет смысла в новичковском курсе. Без практики нет пользы в попытке рассказать как решается сложная задача. Вот и выходит, что нужно хеловордно поведать о вечном. О хранении однотипных объектов. Вставка, удаление, поиск... Преимущества разных контейнеров в разных задачах. Деревья, хеш-таблицы. Даже обзорное знакомство с претензией на занимательность - серьёзная задача для Тут нужно с целевой аудиторией работать, чтобы понять, что будет прикольнее.
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 27.01.2020, 00:32 | |
|
IGPIGP, просто изучение стандартной библиотеки и переписывание оной с 0, или написание своего в добавок к
std, разные штуки.
0
|
|
|
Комп_Оратор)
|
||
| 27.01.2020, 00:44 | ||
|
И да. Сначала нужно хорошо изучить то, что уже есть и обосновать для себя необходимость в это втиснуться. В принципе ковбойский боевик с налётом банды итераторов на поезд с вагонами-контейнерами всякого добра, должен принести ещё и пользу) То есть, дать что-то, чего у других нет или мало, для понимания самой сути темы.
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||
| 27.01.2020, 01:11 | |||
|
У меня на проекте переписывали и это разное)
1
|
|||
|
Комп_Оратор)
|
||
| 27.01.2020, 01:45 | ||
|
Новичку нужно понять много вещей, которые преподавателю кажутся очевидными. В этом вся трудность. И если написание самописного вектора - учебная задача - это вполне понятно. Идеома RAII в контейнере (контейнер - владелец). Разделяемые представления не учитываются на стадии знакомства. Независимость ссылки на данные от ссылки на ячейку. Ссылка по индексу, ссылка по итератору. Преимущества и недостатки произвольного доступа. Потом то же самое со списком. И так далее. Это вполне рабочий вариант. Не прогулка, но ... Если серьёзно, то прогулкой это сделать трудно. Разве-что придумать персонажа которому вы это объясняете и который не всегда понимает сразу. Разбавлять повествование диалогами. Пусть не Хрюша и Степаша, но что-то похоже на диалог Скайуокера и пилота о рулях и закрылках)
0
|
||
|
Just Do It!
|
||
| 27.01.2020, 01:53 | ||
|
Почему std::vector<bool> не STL контейнер? 1. Что такое STL описано в стандарте С++. 2. И там сказано, что любой контейнер STL может нам вернуть указатель на любой свой элемент. 3. std::vector<bool> хранит свои элементы в битах. 4. например: std::vector<bool> v(6, true) будет содержать шесть булевых элементов со значением true 5. а общий размер памяти он будет занимать один байт. 6. Компьютер же устроен так, что мы не можем адресовать память в отдельный бит. 7. т.е. получить адрес на тот бит который содержит конкретное булевое значение из std::vector<bool> никак нельзя. 8. отсюда std::vector<bool> не STL контейнер. фиг знает, будет ли понятно такое объяснение кому то ещё, но для меня это ясно как ясный день. Это можно объяснить другими словами, но как объяснять если человек ещё не знает, например, что такое указатель, а представьте, тоже например, есть люди, которые не знают что такое компьютер. Добавлено через 5 минут зы: в выше приведенной объяснялке надо пометь местами пару пуктов для лучшей причинно-следственной связности.
1
|
||
|
Комп_Оратор)
|
|||
| 27.01.2020, 02:05 | |||
|
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 27.01.2020, 02:13 | ||
|
std::vector<Что_То_Там> нормального человека хранит в себе объекты Что_То_там. std::vector<bool> курильщика никаких bool в себе не хранит. Он только делает вид что у него внутри bool лежат. Что может привести к неожиданному удару граблями по лбу. Как пример - метода data() у него внезапно нету. Не ожидающий такого подвоха программист будет долго чесать репку пытаясь понять почему это у него intVector.data() компилируется, а boolVector.data() - нет.
0
|
||
|
Just Do It!
|
||
| 27.01.2020, 02:36 | ||
|
и уже потом объяснять просто некому. для любого прогера бул это ПРЕЖДЕ ВСЕГО два значения да и нет влазивающих (как бы) в один бит, ... и прочее прочее прочее. короче, лучший способ объяснить, это упростить объясняемое, и как бы бум и не надо уже ничаво объяснять ? я бы держался от таких объясняльщиков как можно дальше.
0
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 27.01.2020, 03:18 | ||
|
Новичок должен учить материал последовательно. Сначала изучаем что логическое значение можно хранить и в bool, и в int и даже битовых масках, но int от этого bool не становится. Только потом переходим к векторам. Если же кто-то перепрыгивает материал, ну и сам себе злобный Буратино.
0
|
||
| 27.01.2020, 03:49 | |
|
Автор, некоторое время назад я с такими же бескорыстными побуждениями чисто из любви к искусству и в надежде на обратную связь сначала записал несколько стримов на сторонних площадках, а потом и на своем ютуб-канале https://www.youtube.com/channe... subscriber
Что сказать, большого и массового интереса к темам не наблюдаю. Может дело в том, что, как говорил автор мема, "мои вкусы весьма специфичны, ты не поймешь" А может я ленивый мизантроп и дилетант, не знаю.Тем не менее, я лелею мысль выйти с таким же примерно вопросом на одном интернациональном англоязычном комьюнити ![]() Так что успехов тебе, по крайней мере ты ничем не рискуешь и ничего не теряешь в любом случае
3
|
|
|
2 / 2 / 0
Регистрация: 25.01.2020
Сообщений: 41
|
|||
| 27.01.2020, 04:06 | |||
|
Добавлено через 13 минут
0
|
|||
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 27.01.2020, 04:07 | |
|
0
|
|
|
Just Do It!
|
|||||||||
| 27.01.2020, 04:31 | |||||||||
|
там упущены два, на мой взгляд, важных момента: 1. Почему разработчики в vector<bool> забили на стандарт 2. Как можно себе отстрелить обе ноги, юзая указатели из std::vector<T>(не bool, компилятор будет молчать). ?
0
|
|||||||||
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
||
| 27.01.2020, 04:36 | ||
|
XLAT, там полностью сообщение
0
|
||
|
1063 / 984 / 153
Регистрация: 10.08.2015
Сообщений: 5,360
|
|
| 27.01.2020, 04:41 | |
|
0
|
|
| 27.01.2020, 04:41 | |
|
Помогаю со студенческими работами здесь
120
Хочу узнать вашего мнения Очень хочется узнать мнение о сайте Очень хочется узнать, кто может так делал? Хочется узнать как сделать временным определённый эффект с C#? Хотел бы узнать ваше мнения по данному БП - AEROCOOL VX-500 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|