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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.92
gore-lykovoe
32 / 32 / 1
Регистрация: 04.04.2010
Сообщений: 414
#1

Посоветуйте новичку в С++ - C++

31.07.2011, 17:04. Просмотров 7602. Ответов 126
Метки нет (Все метки)

Здравствуйте!
После школьной программы знаком с основами Паскаля, Делфи. Скоро поступлю в ВУЗ. Скорей всего буду изучать там С++. Решил немного подготовиться.
Скачал книгу Либерти (21 день).
Сейчас остановился на девятом дне. "Прошел" указатели и ссылки. Возникают большие трудности при использовании указателей и ссылок в классах. Утечки, нулевые объекты, мины замедленного действия, одним словом остались для меня непонятными.
Во-первых мне интересно - я виноват? Или это тяжелые темы для всех? Сколько вы потратили дней, чтобы полностью разобраться в этих темах? Вся сложность в них в том, что надо понимать, как записывается информация, где хранится, когда будет запускаться конструктор, copy конструктор, деструктор. Как надо использовать функции чтобы не запускать copy конструктор.
Во-вторых я хочу спросить, а надо ли мне новичку, знакомым с С++ 7 дней, разбираться в таких, как мне кажется профессиональных вещах? Может можноо обратиться к ним позже? Или дальше без этих тем не уедешь?
Тоесть основной вопрос: если остались непонятки в этих темах, можно изучать дальше, а потом вернуться к ним? Или лучше сейчас все понять?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2011, 17:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посоветуйте новичку в С++ (C++):

посоветуйте новичку в С++ - C++
Здравствуйте! Я изучаю С++. С начала я скачала книгу Либерти, но было очень трудно. Сейчас я изучаю из книги "Шилдт Г. С++ Базовый курс,...

посоветуйте литературу, новичку - C++
:help: знаю, конечно, что в разделе "важно" (но всё-таки один раз живём :beach:) эта тема уже обсуждена, но всё-таки можете посоветовать...

Посоветуйте новичку порядок действий - C++
Посоветуйте новичку, в двух словах, порядок действий и название команд. Требуется, на Visual C, написать прогу, которая бы заходила на...

C++ новичку - C++
Доброго времени суток! У меня такой вопрос. Раньше никогда не программировал, а сейчас стало очень интересно. Могу ли я как полный ноль в...

Подскажите новичку - C++
Добрый день хотел узнать где достать пароль от программы созданной на с++ могу скинуть где качал прогу.

подскажите новичку - C++
основы и синтаксис с++ знаю хотелось бы изучить QT но незнаю как подойти к решению вопроса подскажите книги какие-то голова кругом

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
05.08.2011, 21:01 #76
Цитата Сообщение от diagon Посмотреть сообщение
Что именно?
Игнорирование указателей или использование указателей на функции? Со вторым согласен, но иногда действительно удобно.
Я про указатели на функции, не более того. Скоро это как использование goto будет считаться
diagon
05.08.2011, 21:05
  #77

Не по теме:

Цитата Сообщение от Olga_ Посмотреть сообщение
Я про указатели на функции, не более того. Скоро это как использование goto будет считаться
Где-то у Страуструпа хороший пример видел, там вроде меню с помощью массива указателей на функции предлагалось.
А я и goto иногда использую =)
Иногда попадаются задачи, где приходится использовать 5-8 вложенных циклов. Можно, конечно, завести булеву переменную и таскать ее по всем условиями, и чуть что, изменять все условия... А можно обойтись одним маленьким goto.
Но это уже, во-первых, холивар, во-вторых, лютый оффтоп.

asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.08.2011, 21:08 #78
Цитата Сообщение от diagon Посмотреть сообщение
А я и goto иногда использую =)
Иногда попадаются задачи, где приходится использовать 5-8 вложенных циклов. Можно, конечно, завести булеву переменную и таскать ее по всем условиями, и чуть что, изменять все условия... А можно обойтись одним маленьким goto.
http://www.cyberforum.ru/cpp-beginne...tml#post879619
Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
05.08.2011, 21:10 #79
Цитата Сообщение от diagon Посмотреть сообщение

Не по теме:


Где-то у Страуструпа хороший пример видел, там вроде меню с помощью массива указателей на функции предлагалось.
А я и goto иногда использую =)
Иногда попадаются задачи, где приходится использовать 5-8 вложенных циклов. Можно, конечно, завести булеву переменную и таскать ее по всем условиями, и чуть что, изменять все условия... А можно обойтись одним маленьким goto.
Но это уже, во-первых, холивар, во-вторых, лютый оффтоп.

Для себя так можно поступать, но в крупных проектах не стоит.
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.08.2011, 21:12 #80
Цитата Сообщение от diagon Посмотреть сообщение
Вектор+указатели+printf
Например, один из модулей вполне может быть сишным, по многим причинам (скорость, бинарная совместимость, нежелание переписывания ее на другом языке и т.д.), представьте, что эта функция в отдельном компилированном объектном файле (библиотеке). Я не просто так дал такое имя функции.

asics, исключения для выхода из циклов - это еще хуже, чем goto
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.08.2011, 21:22 #81
Цитата Сообщение от fasked Посмотреть сообщение
asics, исключения для выхода из циклов - это еще хуже, чем goto
Это шутка ?

Добавлено через 5 минут
Да и это просто пример, как выйти из глубоко вложеного цикла без булевых флагов, а именно средствами С++.
Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
05.08.2011, 21:25 #82
Интересно, вот gore-lykovoe, открывший эту тему, читает все сообщения и о чем же он думает Какое впечатление о С++ будет
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
05.08.2011, 21:27 #83
Вот с хабра крик души:
Привет Хабр,
Меня вводит в ступор С++. Вот просто, зависаю над монитором, смотрю в окно, попиваю чай… И начинаю жалеть за бесценно проведенные годы за изучением стандарта С++, попытками написать свой фронт-энд компилер. Эти мудреные книжки С++ In Depth. Как же я негодовал, когда не понимал кода из книги Александреску. Как записывал все постулаты Страуструпа и иже с ними. Зачем? Вот спрашиваю себя, зачем я теперь все это знаю. Более, я хочу сказать, что этот язык нещаден для гуру, не с медицинской, не с экономической точки зрения! Он не оправдывает усилий, вложенных в его изучение — раз. На практике, он экономически не выгоден — два. И нервные клетки подтвердят, что сопровождать чужой плюснутый код — бывает опасно для здоровья -три.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.08.2011, 21:29 #84
Цитата Сообщение от Olga_ Посмотреть сообщение
Сейчас это считается признаком плохого тона, извини, diagon, при всем уважении
а почему? я знаю что есть std::function, но все же интерено

Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Вот с хабра крик души:
не согласен со многим в этой статье, автору надо на С#/Java быдлокодить
Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
05.08.2011, 21:44 #85
Цитата Сообщение от Maxwe11 Посмотреть сообщение
а почему? я знаю что есть std::function, но все же интерено
Не моя это установка, я сама иногда указатели на функции использую (честно говоря), код получается интереснее, но вот так, что я могу сказать...
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.08.2011, 21:57 #86
Цитата Сообщение от asics Посмотреть сообщение
Это шутка ?
Я абсолютно серьезно. Исключения, как ни странно, предназначены для исключительных ситуаций. Выход из цикла ситуация вполне штатная. Ничего в этом катастрофического нет. А любой программист при виде брошенного исключения скорее всего подумает об ошибке.
Цитата Сообщение от asics Посмотреть сообщение
Да и это просто пример, как выйти из глубоко вложеного цикла без булевых флагов, а именно средствами С++.
а goto это тоже средства C++.
Цитата Сообщение от Maxwe11 Посмотреть сообщение
не согласен со многим в этой статье, автору надо на С#/Java быдлокодить
Поддерживаю. Да и вообще многое, о чем написано в этой статье, мало относится к C++. Скорее к ООП в целом.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.08.2011, 21:59 #87
Цитата Сообщение от fasked Посмотреть сообщение
goto это тоже средства C++.
Я имел ввиду вменяемыми средствами, очевидно же.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.08.2011, 22:00 #88
Цитата Сообщение от Olga_ Посмотреть сообщение
Не знала, что на С#/Java быдлокодят, спасибо, бросаю Java
сейчас в эти языки лезут все кто неосвоил указатели в С++, эти люди тупо используют фреймворк при чем не самым лучшим образом из-за не знания внутренней "кухни"
fasked
Эксперт С++
4934 / 2514 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.08.2011, 22:03 #89
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от asics Посмотреть сообщение
Я имел ввиду вменяемыми средствами.
Так вот я и говорю о том, что использовать исключения для таких целей это невменяемо.
Можно еще добавить, что Линус Торвальдс (хоть он и сишник) пишет: "... if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program." То есть, такое количество циклов говорит разве что о плохом дизайне проекта. Если же это какой-то супер-мега-алгоритм, то ... тут надо подумать, но точно не исключения

Не по теме:

Цитата Сообщение от Maxwe11 Посмотреть сообщение
сейчас в эти языки лезут все кто неосвоил указатели в С++
F***g pointers, Java is better because it has no pointers!

asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
05.08.2011, 22:10 #90
Цитата Сообщение от fasked Посмотреть сообщение
Исключения, как ни странно, предназначены для исключительных ситуаций. Выход из цикла ситуация вполне штатная. Ничего в этом катастрофического нет. А любой программист при виде брошенного исключения скорее всего подумает об ошибке.
Хотите использовать goto - используйте, кто-то разве запрещает ?

Добавлено через 1 минуту
Цитата Сообщение от fasked Посмотреть сообщение
Так вот я и говорю о том, что использовать исключения для таких целей это невменяемо.
Вы это скажите
Цитата Сообщение от niXman Посмотреть сообщение
то ли у Саттера, то ли у Александреску.
, я-то тут причем ?

Добавлено через 2 минуты
Цитата Сообщение от fasked Посмотреть сообщение
тут надо подумать, но точно не исключения
Ну думайте...я себя от этого избавлю, в даном вопросе.

Добавлено через 1 минуту
Цитата Сообщение от fasked Посмотреть сообщение
То есть, такое количество циклов говорит разве что о плохом дизайне проекта.
Разве кто-то утверждал иное ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2011, 22:10
Привет! Вот еще темы с ответами:

Поясните новичку - C++
Компилятор ругается на программу: #include <iostream> #include <string> #include <math> using namespace std; int main() ...

Подскажите новичку - C++
Подскажите новичку какой интегрированной средой разработки пользоваться и как ?

Поясните новичку! - C++
Задано 6-значное число. Определить, кратно ли это число 9, используя признак делимости на 9 (число делится на 9, если сумма его цифр...

Помощь новичку - C++
Пожалуйста помогите , я хочу изучить С++, подскажите с чего начать, с какой книги , какой прогой работать ?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.08.2011, 22:10
Ответ Создать тему
Опции темы

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