Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

Хочу научится программировать но не знаю с чего начать - C++
Всем привет! Меня зовут Александр. Хочу научиться программировать на языке . Опыта в этой сфере нету, но есть желание подскажите с чего...

как мне в meno написать сначало слово и потом сдвинуться на 10 знаков - Delphi
Вот в pascal чтобы передвинуться к нужной мне позиции я использовал gotoxy. а как мне в meno написать сначало слово и потом сдвинуться на...

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как) - C++
#include <math.h> #include <conio.h> #include <stdio.h> void main() { int xa, ya, xb, yb; cprintf("vvod xa, ya, xb, yb"); ...

Не могу установить виндовс! (не потому что не знаю как) - Ремонт ноутбуков
Здравствуйте. Теперь все по порядку: Меня начало беспокоить быстродействие системы Windows XP, проверил жесткий диск Викторией на бэды -...

(знаю что легко но не могу вспомнить ^_^)Как проверить соотвествие елементов - jQuery
Есть выборка из 4 объектов. в setintervale каждую секунду $active присваивается первый потом второй и так далее елемент. теперь вопрос: ...

Скиньте пожалуйсто толковую литературу по графике Проблема в том, что как нарисовать знаю, а вот как заставить двигаться - не могу понять. - C#
Доброго времени суток! Скиньте пожалуйсто толковую литературу по графике Проблема в том, что как нарисовать знаю, а вот как заставить...

25
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
13.07.2015, 18:01 #2
Скотт Мейерс - "эффективное использование c++"
0
Vite
1 / 1 / 0
Регистрация: 02.12.2014
Сообщений: 75
13.07.2015, 18:27 #3
Технические основы прикладного программирования
Лекции читает: Тормасов Александр Геннадьевич

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

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

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

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

Добавлено через 5 минут
Цитата Сообщение от RareScrap Посмотреть сообщение
Большая часть сил тратится на такие тривиальный задачи, как создание функций работы с файлами (возвратить N-ную строку из файла, определить количество строк в файле, удалять из строк недопустимые символы).
Все это решается с помощью STL на раз-два:
  • Джосаттис Н. "Стандартная библиотека C++ справочное руководство", 2-е изд. - 2014
Есть еще такая книжка:
  • Диггинс К. "C++ сборник рецептов" - 2007
4
Ferrari F1
620 / 517 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
13.07.2015, 20:42 #6
Я бы советовал сперва постичь азы, т.е. изучить литературу по чистому Си, чтобы понять, откуда ноги у Си++ растут. Познакомишься с директивами препроцессора, макросами, битовыми операциями, библиотечными функциями. Тогда только и нужно переходить к Си++, я считаю.
0
Avazart
Эксперт С++
7235 / 5431 / 303
Регистрация: 10.12.2010
Сообщений: 24,133
Записей в блоге: 17
13.07.2015, 20:42 #7
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
т.е. изучить литературу по чистому Си
Абсолютно не обязательно, а главное вермязатратно.
0
Ferrari F1
620 / 517 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
13.07.2015, 20:43 #8
Avazart, зато фундаментально) и мозги вправит
0
Avazart
Эксперт С++
7235 / 5431 / 303
Регистрация: 10.12.2010
Сообщений: 24,133
Записей в блоге: 17
13.07.2015, 20:45 #9
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Avazart, зато фундаментально) и мозги вправит
Фундаментально глупо? Мозги скорее засрет.
Нет смысла тратить время на язык на котором не собираешься писать.
0
Ferrari F1
620 / 517 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
13.07.2015, 20:49 #10
Avazart, зря ты так) ибо новички начавши писать сразу без глубоких знаний синтаксиса и лексики си подобных языков допускают всякие глупые ошибки типа
C++
1
2
char* x = "something";
x[2] = 'd';
А все эти тонкости хорошо объясняются в книжках по чистым сям.
0
Avazart
Эксперт С++
7235 / 5431 / 303
Регистрация: 10.12.2010
Сообщений: 24,133
Записей в блоге: 17
13.07.2015, 20:53 #11
Все это есть и в книгах по С++.
Но само использование таково в С++, не приветствуется ибо есть std::string
0
Renji
2015 / 1383 / 312
Регистрация: 05.06.2014
Сообщений: 3,947
13.07.2015, 21:00 #12
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Avazart, зря ты так) ибо новички начавши писать сразу без глубоких знаний синтаксиса и лексики си подобных языков допускают всякие глупые ошибки типа
Во-первых, новичок использующий char* x = "something"; учил не плюсы, а чистый Си. В плюсах используют string, но преподавателям "плюсов" рассказать об этом забыли.
Во-вторых, современные компиляторы это вообще скушают? "something" же const char*, а возможность перекастовать его к char* - темное наследие Си.
0
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
13.07.2015, 21:01 #13
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
char* x = "something";
В С++-то такое вообще нелегально. Просто существует поблажка от некоторых компиляторов, которая такое допускает. Но предупреждение-то все равно будет.
C++
1
2
char const * x = "something";
x[2] = 'd'; // Oops! Compiler error
0
ampermetr
23 / 23 / 9
Регистрация: 01.05.2015
Сообщений: 174
13.07.2015, 23:41 #14
RareScrap, у меня основная проблема в том, что задачи, которые я нахожу для решения или слишком простые, или слишком сложные))
Хорошо понимаю каждую функцию в отдельности, но простейшее их сочетание вызывает полнейший setup (дословно, без транскрипции).
А вообще, для тренировки я беру простейшие линуксовые программы и пихаю в них свои функции. Бесполезные. Главное чтоб эти функции работали и хоть что-то делали.
0
Avazart
Эксперт С++
7235 / 5431 / 303
Регистрация: 10.12.2010
Сообщений: 24,133
Записей в блоге: 17
14.07.2015, 00:23 #15
Цитата Сообщение от ampermetr Посмотреть сообщение
Главное чтоб эти функции работали и хоть что-то делали.
Бардак в голове- и бордак будет в вашей программе.
Как раз полезно не только писать ф-ции, не только писать что бы они работали, а еще и правильно организовывать( т.е так что бы было понятно постороннему человеку)
1
14.07.2015, 00:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 00:23
Привет! Вот еще темы с ответами:

Интересное решение для wordpress (несколько меню) не могу реализовать но знаю как - WordPress
столкнулся с проблемой что на сайт (wp) нужно поставить несколько меню такая функция как вы знаете в wp отсуцтвует есть идея просто...

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти - Pascal
{Ввести последовательность натуральных чисел Aj j=1...n (n<=1000). Упорядочить последовательность по неубыванию наименььшей цифры...

Не могу заставить программировать программатор AVR910USB - Ubuntu Linux
Здравсвуйте. Хочу запрограммировать МК atmega8. Имею программатор AVR910USB и xubuntu 13.04. Подключаю его к одному из usb-портов....

Отметка о прочтённом сообщении. Не знаю как это называется правильно, поэтому не могу написать правильный заголовок - MySQL
Здравствуйте! Как видно из заголовка - я не могу правильно написать вопрос. А это, возможно. привело бы меня к решению в гугле за секунды. ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.