1 / 1 / 0
Регистрация: 24.08.2010
Сообщений: 39
1

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

24.08.2010, 19:52. Показов 32123. Ответов 56
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

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

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

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

И что изучать после этой книги ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2010, 19:52
Ответы с готовыми решениями:

Нужна книга "Освой самостоятельно C за 21 день" 6-е издание Брэдли Л. Джонс, Питер Эйткен
Может у кого книга есть "Освой самостоятельно C за 21 день" 6-е издание Брэдли Л. Джонс, Питер...

Насколько актуальна книга "Освой самостоятельно C++ по одному часу в день" от Сиддхартха Рао в 2022-2023 году?
Стоит ли тратить время или нет? Хочу услышать мнение насчёт этой книги. Также не против...

Примеры из Освой самостоятельно C++ за 21 день и из прочих книг
Доброго дня! У меня давно уже вообще лежит книга Джесс Либерти Освой самостоятельно C++ за 21 день...

Куплю книгу Дж.Либерти "Освой самостоятельно С++ за 21 день"
КУПЛЮ книгу Дж.Либерти "Освой самостоятельно С++ за 21 день" издательство "Вильямс", 3 или 4...

Освой самостоятельно С++ за 24 часа!
Хорошая эта книга Освой самостоятельно С++ за 24 часа! или не стоит ее читать?

56
1 / 1 / 0
Регистрация: 24.08.2010
Сообщений: 39
28.08.2010, 05:35  [ТС] 41
Author24 — интернет-сервис помощи студентам
Mr.X, Как Вы видите да.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.08.2010, 14:10 42
Вообще-то новая книга Страуструпа в России так еще и не вышла.
0
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 04:55 43
Цитата Сообщение от alexzak Посмотреть сообщение
Дебильная книга. По беглому просмотру видно, что там многие моменты неправильно освещены.
Не надо ля-ля... Предъявите примеры неправильно освещенных моментов! От себя хочу добавить, что книга в целом понравилась, но в ней пропущены некоторые довольно важные мелочи (например: локальные статические переменные) и инфа по работе с шаблонами куцая (по крайней мере, я понял только что такое средство в C++ есть и для чего оно используется, но сам использовать его толком не научился).
0
84 / 57 / 8
Регистрация: 07.08.2010
Сообщений: 185
15.09.2010, 06:57 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
}
0
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 25
15.09.2010, 10:25 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().
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
15.09.2010, 11:45 46
Oleg_SK,
Оператор присваивания:
1. Небезопасен относително исключений, что является очень серьезной ошибкой.
2. memcpy справится с копирование быстрее цикла.

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

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

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

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

З.Ы: Думаю что касяков в любой книге хватает...;(
0
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
15.09.2010, 16:27 51
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
2. memcpy справится с копирование быстрее цикла.
А memcpy разве не цикле построена.
0
5 / 5 / 1
Регистрация: 23.11.2009
Сообщений: 608
15.09.2010, 16:30 52
Цитата Сообщение от akusya Посмотреть сообщение
Есть книга Джесс Либерти "Освой самостоятельно c++ за 21 день"
Начал с него и прошу совета, подходит ли он для таких как я ? которые не разу не изучали программирование.
Я с этой же книги начинаю изучение С++.
0
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
15.09.2010, 18:52 53
Цитата Сообщение от niXman Посмотреть сообщение
да.
уже купил, и читаю.

хоть страуструпу свойственно вдаваться в тонкости работы компилятора, и еще во всякие специфические мелочи, с которыми на практике вряд-ли программист встретится, эта книга от хорошего страуструпа
А нововведения C++0x он там описывает?
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.09.2010, 20:43 54
Цитата Сообщение от Mr.X Посмотреть сообщение
А нововведения C++0x он там описывает?
очень кратко. вскользь.
зато, что меня удивило, рассматривается программирование гуя
свой велосипед, и FLTK. но в основном, мне интересно только обоснование и стратегия разработки структуры классов.
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
15.09.2010, 20:50 55
Цитата Сообщение от niXman Посмотреть сообщение
зато, что меня удивило, рассматривается программирование гуя
чем плохо, пипл захавал же
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
15.09.2010, 20:51 56
Цитата Сообщение от iama Посмотреть сообщение
пипл захавал же
вы считаете это аргумент?
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
15.09.2010, 20:54 57
Цитата Сообщение от niXman Посмотреть сообщение
вы считаете это аргумент?
аргументом чего?
0
15.09.2010, 20:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2010, 20:54
Помогаю со студенческими работами здесь

Подходит ли Pascal для новичков? Сложно ли с ним работать?
Подходит ли Pascal для новичков? Сложно ли с ним работать?

Какой бесплатный хостинг для сайтов подходит для новичков?
Мне нужно узнать какой бесплатный хостинг для сайтов подходит для новичков(просто разобраться при...

Лучшая книга по с++ для новичков
Какая самая лучшая книга для новичков в c++ Вот несколько вариантов: С++ для начинающих. Шаг за...

Либерти Д. Освой С++ за 21 день
Для изучения с++ некоторые знакомые рекомендовали (а некоторые не рекомендовали) книгу Либерти Д....

Нужен видео учебник или книга по c++ builder для новичков
Сам пользуюсь C++Builder 2010 взвесив свои возможности остановился на нем, т.к. на c++ visual...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru