Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
RareScrap
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 84
#1

Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно - C++

13.07.2015, 17:58. Просмотров 1094. Ответов 25
Метки нет (Все метки)

Я изучаю C++ уже больше года, но чувствую, что до сил пор не умею им пользоваться. Большая часть сил тратится на такие тривиальный задачи, как создание функций работы с файлами (возвратить N-ную строку из файла, определить количество строк в файле, удалять из строк недопустимые символы). Это очень скучно, а еще и в конечном итоге получается что-то очень баганное и неопрятное. А это заставляет затратить еще какое-то время и силы на приведение кода в порядок. В стандартной библиотеке не могу найти нужных мне элементарных функций, поэтому делаю их сам. Это так скучно и нудно.

Я наслышан о возможностях C++, но не могу сдвинуться с этой проблемы.

Скажите, как можно исправить эту проблему? К какой литературе обратиться? Что я делаю не так вообще в процессе программирования? Как можно исключить или хотя бы упростить рутинные задачи?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2015, 17:58     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно
Посмотрите здесь:

C++ помогите сдвинуться с мертвой точки
C++ как начать программировать на С++
C++ как начать программировать
Подскажите как программировать на API?? C++
C++ Как эффективно заменить подстроку в строке на другую подстроку?
нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как) C++
Как научиться эффективно читать чужой код С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
13.07.2015, 18:01     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #2
Скотт Мейерс - "эффективное использование c++"
Vite
1 / 1 / 0
Регистрация: 02.12.2014
Сообщений: 74
13.07.2015, 18:27     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #3
Технические основы прикладного программирования
Лекции читает: Тормасов Александр Геннадьевич

Лекция 1: Обзор задач
Лекция 2: История создания программ
Лекция 3: Оформление текста программ и основные структуры
Лекция 4: Структура данных
Лекция 5: Параллельное программирование и безопасность программного обеспечения
Лекция 6: Техника кодирования и основы криптографии
Лекция 7: Моделирование угроз. Эволюция аппаратного обеспечения
Лекция 8: Параллельное программирование
Лекция 9: Технические аспекты написания параллельных программ
Лекция 10: Объектно ориентированное программирование
Лекция 11: Техническая реализация ООП в языке программирования С++
Лекция 12: Поддержка ООП в различных системах и средах. Технологии виртуализации
Лекция 13: Технология аппаратной виртуализации и виртуальные машины
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
13.07.2015, 18:27     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #4
Цитата Сообщение от RareScrap Посмотреть сообщение
Я изучаю C++ уже больше года, но чувствую, что до сил пор не умею им пользоваться.
Это нормально
Цитата Сообщение от RareScrap Посмотреть сообщение
Большая часть сил тратится на такие тривиальный задачи, как создание функций работы с файлами (возвратить N-ную строку из файла, определить количество строк в файле, удалять из строк недопустимые символы).
Прорешивать такие задачи тоже полезно, дабы закрепить понимание каких-то языковых конструкций или функций из библиотеки. Но если чувствуете, что такие задачки даются легко, то переходите к более сложным. Всегда надо выше планку поднимать, иначе прогресса не будет
Начните изучать STL, почитайте книжки по алгоритмам и структурам данных, их реализовывайте. Решать задачки на этом форуме тоже неплохой вариант. Потихоньку на библиотеку boost можно посматривать. Интереса ради поработать с sfml, curl, например
Что в плане литературы, то хорошая литература здесь:
Литература C++
Не знаю, как программировать эффективно
Скилл прокачивается этот практикой регулярной...ну и естественно чтением литературы и чтением этого форума
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,904
Записей в блоге: 17
13.07.2015, 19:11     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #5
Цитата Сообщение от RareScrap Посмотреть сообщение
а еще и в конечном итоге получается что-то очень баганное и неопрятное.
Цитата Сообщение от Raali Посмотреть сообщение
Скотт Мейерс - "эффективное использование c++"
  • Герб Саттер "Решение сложных задач на C++"
  • Дьюхерст "Скользкие места С++"

Добавлено через 2 минуты
Цитата Сообщение от RareScrap Посмотреть сообщение
Как можно исключить или хотя бы упростить рутинные задачи?
Начать думать?
Желательно шире и быстрее...

Добавлено через 3 минуты
Цитата Сообщение от RareScrap Посмотреть сообщение
В стандартной библиотеке не могу найти нужных мне элементарных функций, поэтому делаю их сам. Это так скучно и нудно.
Скучно ждать что кто-то сделает за тебя твою задачу.
Как минимум стоит по интересоваться что предлагают популярные библиотеки Qt, boost ...
Для С++ привычным образом является использовать сторонние библиотеки (под задачу).

Что касается STL она больше рассчитана наверное именно на построение собственных классов т.е как "кирпичи".

Добавлено через 5 минут
Цитата Сообщение от RareScrap Посмотреть сообщение
Большая часть сил тратится на такие тривиальный задачи, как создание функций работы с файлами (возвратить N-ную строку из файла, определить количество строк в файле, удалять из строк недопустимые символы).
Все это решается с помощью STL на раз-два:
  • Джосаттис Н. "Стандартная библиотека C++ справочное руководство", 2-е изд. - 2014
Есть еще такая книжка:
  • Диггинс К. "C++ сборник рецептов" - 2007
Ferrari F1
Заблокирован
13.07.2015, 20:42     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #6
Я бы советовал сперва постичь азы, т.е. изучить литературу по чистому Си, чтобы понять, откуда ноги у Си++ растут. Познакомишься с директивами препроцессора, макросами, битовыми операциями, библиотечными функциями. Тогда только и нужно переходить к Си++, я считаю.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,904
Записей в блоге: 17
13.07.2015, 20:42     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #7
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
т.е. изучить литературу по чистому Си
Абсолютно не обязательно, а главное вермязатратно.
Ferrari F1
Заблокирован
13.07.2015, 20:43     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #8
Avazart, зато фундаментально) и мозги вправит
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,904
Записей в блоге: 17
13.07.2015, 20:45     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #9
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Avazart, зато фундаментально) и мозги вправит
Фундаментально глупо? Мозги скорее засрет.
Нет смысла тратить время на язык на котором не собираешься писать.
Ferrari F1
Заблокирован
13.07.2015, 20:49     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #10
Avazart, зря ты так) ибо новички начавши писать сразу без глубоких знаний синтаксиса и лексики си подобных языков допускают всякие глупые ошибки типа
C++
1
2
char* x = "something";
x[2] = 'd';
А все эти тонкости хорошо объясняются в книжках по чистым сям.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,904
Записей в блоге: 17
13.07.2015, 20:53     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #11
Все это есть и в книгах по С++.
Но само использование таково в С++, не приветствуется ибо есть std::string
Renji
1707 / 1140 / 270
Регистрация: 05.06.2014
Сообщений: 3,297
13.07.2015, 21:00     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #12
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Avazart, зря ты так) ибо новички начавши писать сразу без глубоких знаний синтаксиса и лексики си подобных языков допускают всякие глупые ошибки типа
Во-первых, новичок использующий char* x = "something"; учил не плюсы, а чистый Си. В плюсах используют string, но преподавателям "плюсов" рассказать об этом забыли.
Во-вторых, современные компиляторы это вообще скушают? "something" же const char*, а возможность перекастовать его к char* - темное наследие Си.
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
13.07.2015, 21:01     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #13
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
char* x = "something";
В С++-то такое вообще нелегально. Просто существует поблажка от некоторых компиляторов, которая такое допускает. Но предупреждение-то все равно будет.
C++
1
2
char const * x = "something";
x[2] = 'd'; // Oops! Compiler error
ampermetr
16 / 16 / 8
Регистрация: 01.05.2015
Сообщений: 162
13.07.2015, 23:41     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #14
RareScrap, у меня основная проблема в том, что задачи, которые я нахожу для решения или слишком простые, или слишком сложные))
Хорошо понимаю каждую функцию в отдельности, но простейшее их сочетание вызывает полнейший setup (дословно, без транскрипции).
А вообще, для тренировки я беру простейшие линуксовые программы и пихаю в них свои функции. Бесполезные. Главное чтоб эти функции работали и хоть что-то делали.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,904
Записей в блоге: 17
14.07.2015, 00:23     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #15
Цитата Сообщение от ampermetr Посмотреть сообщение
Главное чтоб эти функции работали и хоть что-то делали.
Бардак в голове- и бордак будет в вашей программе.
Как раз полезно не только писать ф-ции, не только писать что бы они работали, а еще и правильно организовывать( т.е так что бы было понятно постороннему человеку)
ampermetr
16 / 16 / 8
Регистрация: 01.05.2015
Сообщений: 162
14.07.2015, 00:38     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #16
Avazart, согласен, бардак в голове - страшная сила. Но для себя я не нашел, пока что способа лучше этого. Хоть какой то опыт, пусть и методом тыка.
Avazart
14.07.2015, 00:41
  #17

Не по теме:

Цитата Сообщение от ampermetr Посмотреть сообщение
Но для себя я не нашел, пока что способа лучше этого.
Какой еще способ?
Читать книги и выполнять задания из них?

rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2303 / 1019 / 232
Регистрация: 30.11.2013
Сообщений: 3,378
14.07.2015, 00:50     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно #18
Цитата Сообщение от RareScrap Посмотреть сообщение
Я изучаю C++ уже больше года, но чувствую, что до сил пор не умею им пользоваться
я изучая С++ уже 2 года, и всё в той же попе, что и вы) Мне очень понравилась одна фраза, не помню где прочитал:
- В других языках программирования думают о чём они пишут программу, в С++ больше времени уделяют тому, как они пишут программу.

Архитектурные вопросы - это время + опыт + чреда проб и ошибок
ampermetr
14.07.2015, 00:56
  #19

Не по теме:

Avazart, так в том и проблема, что в книгах описывается функция, но не описывается ее взаимодействие с другими функциями. К примеру создание класса, и в нем объекта. ОК, создали класс и объекты. А вот хочу чтобы пользователь мог создавать объекты, не залазя в код. Один объект получается создать через new, а надо и второй, и третий. Видимо я плохо читал, но не нашел как это сделать.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 06:13     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно
Еще ссылки по теме:

Как эффективно изучать программирование? C++
C++ Знаю С, написать ничего толкового не могу, нужен совет опытных
Как научиться программировать C++
C++ Файл: Как наиболее эффективно разделить строку?
Кто знает, как программировать в xcode? C++

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

Или воспользуйтесь поиском по форуму:
Ferrari F1
14.07.2015, 06:13     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно
  #20

Не по теме:


Цитата Сообщение от ampermetr Посмотреть сообщение
А вот хочу чтобы пользователь мог создавать объекты, не залазя в код.
Мне бы как новичку пришла идея хранить объекты в векторе (стл) или в другом контейнере, а потом создать консольное приложение с текстовым интерфейсом для отображения возможных операций с этим контейнером (создание, удаление, редактирование, добавление объектов и тп. Тут от цели зависит)

Yandex
Объявления
14.07.2015, 06:13     Не могу сдвинуться с места в изучении C++; Не знаю, как программировать эффективно
Ответ Создать тему
Опции темы

Текущее время: 10:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru