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

Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 173, средняя оценка - 4.87
akusya
1 / 1 / 0
Регистрация: 24.08.2010
Сообщений: 39
24.08.2010, 19:52     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #1
Здравствуйте!

Я новичок в программирование.

И желаю научиться C++ есть книга Джесс Либерти "Освой самостоятельно c++ за 21 день"

Начал с него и прошу совета, подходит ли он для таких как я ? которые не разу не изучали программирование.

И что изучать после этой книги ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2010, 19:52     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков?
Посмотрите здесь:

Освой самостоятельно С++ за 24 часа! C++
C++ Книга "С++ для чайников"
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" C++
C++ Heap Corruption Detected в листинге 19.6 из книги "Освой с++ за 21 день"
C++ В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
akusya
1 / 1 / 0
Регистрация: 24.08.2010
Сообщений: 39
28.08.2010, 05:35  [ТС]     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #41
Mr.X, Как Вы видите да.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.08.2010, 14:10     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #42
Вообще-то новая книга Страуструпа в России так еще и не вышла.
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 04:55     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #43
Цитата Сообщение от alexzak Посмотреть сообщение
Дебильная книга. По беглому просмотру видно, что там многие моменты неправильно освещены.
Не надо ля-ля... Предъявите примеры неправильно освещенных моментов! От себя хочу добавить, что книга в целом понравилась, но в ней пропущены некоторые довольно важные мелочи (например: локальные статические переменные) и инфа по работе с шаблонами куцая (по крайней мере, я понял только что такое средство в C++ есть и для чего оно используется, но сам использовать его толком не научился).
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
15.09.2010, 06:57     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #44
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Не надо ля-ля... Предъявите примеры неправильно освещенных моментов! От себя хочу добавить, что книга в целом понравилась, но в ней пропущены некоторые довольно важные мелочи (например: локальные статические переменные) и инфа по работе с шаблонами куцая (по крайней мере, я понял только что такое средство в C++ есть и для чего оно используется, но сам использовать его толком не научился).
Ты просто С++ мало знаешь. Взгляни на этот код и найди в нем ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Array& Array::operator=(const Array &rhs)
{
    if (this == &rhs)
       return *this;
    delete [] pType;
    itsSize = rhs.GetitsSize();
    pType = new int[itsSize];
    for (int i = 0; i < itsSize; i++)
    {
        pType[i] = rhs[i];
    }
    return *this;
}
 
int& Array::operator[](int offSet)
{
    int size = GetitsSize();
    if (offSet >= 0 && offSet < GetitsSize())
        return pType[offSet];
    throw xBoundary();
    return pType[0]; // appease MSC
}
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 10:25     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #45
Цитата Сообщение от alexzak Посмотреть сообщение
Ты просто С++ мало знаешь. Взгляни на этот код и найди в нем ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Array& Array::operator=(const Array &rhs)
{
    if (this == &rhs)
       return *this;
    delete [] pType;
    itsSize = rhs.GetitsSize();
    pType = new int[itsSize];
    for (int i = 0; i < itsSize; i++)
    {
        pType[i] = rhs[i];
    }
    return *this;
}
 
int& Array::operator[](int offSet)
{
    int size = GetitsSize();
    if (offSet >= 0 && offSet < GetitsSize())
        return pType[offSet];
    throw xBoundary();
    return pType[0]; // appease MSC
}
Я и не спорю, что мало знаю C++, т.к. еще в самом начале его изучения (прочел по нему только одну сабжевую книгу). Я также не спорю, что в сабжевой книге могут быть ошибки. Мне просто хотелось бы, чтобы здесь были представлены примеры неправельного освещения чего-либо в сабжевой книге, чтобы я принял это к сведению. Теперь перейду к указанному коду:
1. Ошибки в методе-члене перегружающем оператор присваивания.
1.1. Ошибка в строке pType[i] = rhs[i]; происходит попытка вызова для константного объекта неконстантного метода. Исправляется добавлением в класс еще одного метода перегрузки оператора индексирования:
C++
1
2
3
4
5
6
7
8
int Array::operator[](unsigned int offSet) const
{
    unsigned int size = GetitsSize();
    if (offSet >= 0 && offSet < size)
        return pType[offSet];
    throw xBoundary();
    return pType[0]; // appease MSC
}
2. Ошибки в методе-члене перегружающем оператор индексирования.
2.1. IMHO, для индекса лучше использовать не тип int, а тип unsigned int или, если допустимо, unsigned short.
2.2. Недочет в строке if (offSet >= 0 && offSet < GetitsSize()); зачем снова вызывать GetitsSize(), если размер уже сохранен в переменной size?

P.S: На компиляторе не проверял...

Добавлено через 23 минуты
alexzak, кстати: зачем в методе перегрузки оператора индексирования нужна переменная size, если к ней происходит только одно обращение? В данном случае нет никакой экономии, и по этому лучше выкинуть эту переменную из обоих методов перегрузки операторов индексирования, а в условии вызывать метод GetitsSize().
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.09.2010, 11:45     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #46
Oleg_SK,
Оператор присваивания:
1. Небезопасен относително исключений, что является очень серьезной ошибкой.
2. memcpy справится с копирование быстрее цикла.

Оператор индексации:
1. Страдает логика.
2. Содержит недостижимый код:
C++
1
return pType[0];
3. Содержит лишнюю локальную переменную size.

Цитата Сообщение от Oleg_SK Посмотреть сообщение
Ошибка в строке pType[i] = rhs[i]; происходит попытка вызова для константного объекта неконстантного метода.
И это тоже, если нет константной перегрузки.
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 11:56     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #47
CyBOSSeR, подскажите, плиз, где можно поподробнее прочитать о небезопасности оператора присваивания относительно исключений? Я не понимаю, о чем идет речь...
Только что увидел что, приведенный код взят из сабжевой книги. Получается, что тема исключений в ней раскрыта не очень хорошо...
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.09.2010, 13:29     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #48
Цитата Сообщение от Oleg_SK Посмотреть сообщение
подскажите, плиз, где можно поподробнее прочитать о небезопасности оператора присваивания относительно исключений? Я не понимаю, о чем идет речь...
Майерс С. Эффективное использование C++. 55 верных советов улучшить структуру и код ваших прграмм. Правило 29, но лучше последовательно прочитайте всю.
Цитата Сообщение от Oleg_SK Посмотреть сообщение
Только что увидел что, приведенный код взят из сабжевой книги. Получается, что тема исключений в ней раскрыта не очень хорошо...
Думаю, это не единственный косяк автора.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.09.2010, 13:41     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #49
Цитата Сообщение от Mr.X Посмотреть сообщение
А разве она уже вышла?
да.
уже купил, и читаю.

хоть страуструпу свойственно вдаваться в тонкости работы компилятора, и еще во всякие специфические мелочи, с которыми на практике вряд-ли программист встретится, эта книга от хорошего страуструпа
Oleg_SK
5 / 5 / 2
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 14:07     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #50
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Майерс С. Эффективное использование C++. 55 верных советов улучшить структуру и код ваших прграмм. Правило 29, но лучше последовательно прочитайте всю.

Думаю, это не единственный косяк автора.
А, так это книга для более продвинутого уровня... Я до нее еще дойду Благодарю за информацию!

З.Ы: Думаю что касяков в любой книге хватает...;(
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
15.09.2010, 16:27     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #51
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
2. memcpy справится с копирование быстрее цикла.
А memcpy разве не цикле построена.
Alexey R
6 / 6 / 1
Регистрация: 23.11.2009
Сообщений: 608
15.09.2010, 16:30     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #52
Цитата Сообщение от akusya Посмотреть сообщение
Есть книга Джесс Либерти "Освой самостоятельно c++ за 21 день"
Начал с него и прошу совета, подходит ли он для таких как я ? которые не разу не изучали программирование.
Я с этой же книги начинаю изучение С++.
Mr.X
Эксперт С++
 Аватар для Mr.X
2796 / 1572 / 246
Регистрация: 03.05.2010
Сообщений: 3,649
15.09.2010, 18:52     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #53
Цитата Сообщение от niXman Посмотреть сообщение
да.
уже купил, и читаю.

хоть страуструпу свойственно вдаваться в тонкости работы компилятора, и еще во всякие специфические мелочи, с которыми на практике вряд-ли программист встретится, эта книга от хорошего страуструпа
А нововведения C++0x он там описывает?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.09.2010, 20:43     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #54
Цитата Сообщение от Mr.X Посмотреть сообщение
А нововведения C++0x он там описывает?
очень кратко. вскользь.
зато, что меня удивило, рассматривается программирование гуя
свой велосипед, и FLTK. но в основном, мне интересно только обоснование и стратегия разработки структуры классов.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
15.09.2010, 20:50     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #55
Цитата Сообщение от niXman Посмотреть сообщение
зато, что меня удивило, рассматривается программирование гуя
чем плохо, пипл захавал же
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.09.2010, 20:51     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #56
Цитата Сообщение от iama Посмотреть сообщение
пипл захавал же
вы считаете это аргумент?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2010, 20:54     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков?
Еще ссылки по теме:

C++ Написать программу которaя запрашиваeт у пользователя номер дня недели, затем выводит одно из сообщений "рабочий день", "суббота", "воскресенье"
C++ Создать класс Date для работы с датами в формате "год.месяц.день" / C++ для начинающих
Примеры из Освой самостоятельно C++ за 21 день и из прочих книг C++

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

Или воспользуйтесь поиском по форуму:
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
15.09.2010, 20:54     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков? #57
Цитата Сообщение от niXman Посмотреть сообщение
вы считаете это аргумент?
аргументом чего?
Yandex
Объявления
15.09.2010, 20:54     Подходит ли книга "Освой самостоятельно c++ за 21 день" для новичков?
Ответ Создать тему
Опции темы

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