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

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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
06.08.2011, 16:26     Посоветуйте новичку в С++ #121
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Именно! Для объекта, созданного операцией new() деструктор вызовется только при выполнении delete(). При раскрутке стека для таких объектов деструктор не вызывается.
Это же очевидно, речь про статически созданные объекты. В этом плане разницы никакой между goto и exceptions нет.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
06.08.2011, 16:40     Посоветуйте новичку в С++ #122
с динамическими - умные указатели, и будет все освобождаться

Добавлено через 2 минуты
они же безопасны к исключениям и всему прочему
LosAngeles
Заблокирован
06.08.2011, 18:54     Посоветуйте новичку в С++ #123
Цитата Сообщение от grizlik78 Посмотреть сообщение
Это, разумеется, не так. По-крайней мере для компилятора, соответствующего стандарту. Оператор goto так же выполняет "раскрутку стека" как и throw или break, это полноценный оператор C++. Деструкторы не вызываются только при выходе из программы функциями exit() или abort().
Но это всё-равно не значит, что стоит применять goto где попало.
да действительно так и есть. Я ошибся. Я думал goto просто на безусловный переход заменяется, однако перед ними компилятор ещё и для всех автоматических объектов вызовы деструкторов навставлял. Неожидал
Domenick
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 12
08.08.2011, 08:22     Посоветуйте новичку в С++ #124
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Сыроежка, если ты собираешься реализовать контейнер вроде вектора, то указатели тебе нужны. А если ты собираешься использовать контейнер вроде вектора, то указатели тебе нафиг не нужны.
я незнаю какой сложности вы программы пишите, но например, у нас был такой предмет "дискретная оптимизация" где нужно было реализовывать алгоритмы Флойда, Задачу коммивояжёра и т д т е задачи из дискретной математики, и как не странно, используя уже существующие контейнеры, были непонятные ошибки, хоть с виду код был очень простой и без ошибок, т е данные контейнеры косячили сами, с определенными параметрами, так вот чтобы избежать этого приходилось самим их описывать, а без знания как все это работает, вы бы и не догадались в чем ошибка, и сидели бы и дальше вдупляли в простейший код стуча головой ап стенку "где же тут может быть ошибка!?"
если вы хотите быть "хорошим" программистом, вам надо знать как все работает, а если хотите программировать на уровне пользователя, то пользуйтесь стандартными контейнерами. Я не говорю, что ими ненадо пользоваться, конечно надо, но порой лучше без них)
разумеется такая ерунда типа вектора врятли будет косячить.
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,658
08.08.2011, 12:16     Посоветуйте новичку в С++ #125
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Domenick Посмотреть сообщение
я незнаю какой сложности вы программы пишите, но например, у нас был такой предмет "дискретная оптимизация" где нужно было реализовывать алгоритмы Флойда, Задачу коммивояжёра и т д т е задачи из дискретной математики, и как не странно, используя уже существующие контейнеры, были непонятные ошибки, хоть с виду код был очень простой и без ошибок, т е данные контейнеры косячили сами, с определенными параметрами, так вот чтобы избежать этого приходилось самим их описывать, а без знания как все это работает, вы бы и не догадались в чем ошибка, и сидели бы и дальше вдупляли в простейший код стуча головой ап стенку "где же тут может быть ошибка!?"
если вы хотите быть "хорошим" программистом, вам надо знать как все работает, а если хотите программировать на уровне пользователя, то пользуйтесь стандартными контейнерами. Я не говорю, что ими ненадо пользоваться, конечно надо, но порой лучше без них)
разумеется такая ерунда типа вектора врятли будет косячить.
Это не контейнеры косячили, а конкретно ВЫ косячили...
Понимать работу контейнеров программист-профи ОБЯЗАН - это часть его профессиональных знаний и умений. Писать собственный велосипед - это как раз удел новичков, которые еще не стали серьезными профи.
Я вот сейчас с матрицами 20000*20000 работаю и всякими дополнительными к ним контейнерами, вроде вектора списков. Приходится списки сливать-разливать... Да я б застрелился бы, если б мне пришлось самому все это реализовать!
Domenick
0 / 0 / 0
Регистрация: 02.08.2011
Сообщений: 12
08.08.2011, 14:34     Посоветуйте новичку в С++ #126
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Это не контейнеры косячили, а конкретно ВЫ косячили...
бываеют такие ситуации, когда немного не понимая как работает какойто метод, можно ошибится применив его, для немного другой задачи.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2011, 14:52     Посоветуйте новичку в С++
Еще ссылки по теме:

Советы новичку - C++
Ребята, добрый день! Помогите в написании кода, не могу все собрать вместе. Нужно чтобы пользователь указал с клавиатуры длину массива...

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

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

Литература Новичку - C++
Подойдет ли данная книга новичку?

Подскажите новичку. - C++
Здравствуйте. Есть такой пример составил под него программу на С++ #include <iostream> #include <stdio.h> #include <math.h> ...


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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,658
08.08.2011, 14:52     Посоветуйте новичку в С++ #127
Цитата Сообщение от Domenick Посмотреть сообщение
бываеют такие ситуации, когда немного не понимая как работает какойто метод, можно ошибится применив его, для немного другой задачи.
Вот именно! Это просто означает, что "тщательнЕе надо", как говорил Жванецкий...
Yandex
Объявления
08.08.2011, 14:52     Посоветуйте новичку в С++
Ответ Создать тему
Опции темы

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