Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Что нужно знать перед изучением C++?  (Прочитано 5228 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Denis_Az

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Что нужно знать перед изучением C++?
« : 20 Августа 2013, 23:42:00 »
В общем объясните, что нужно знать?? Просто при чтении учебника по  C++, до сих пор не могу понять суть указателей. Что они значат? Так это я на 50 странице, что дальше будет боюсь не пойму без основ. Опыт программирования только на JavaScript, да на языке сценариев для HTML-страниц. Так что с философией ООП знаком. Но C++ универсальный язык, то есть он потдерживает и процедурное программирование и не только... собственно чего я вам объясняю.

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #1 : 21 Августа 2013, 00:30:42 »
Суть указателя: Указатель это переменная которая содержит адрес ячейки памяти.

int a = 2; //Для переменной выделяется память(и адрес под нее)
int* b = &a; //узнаем адресс переменной a

т.е b хранит не значение "2", а адрес где оно лежит.

Есть также передача параметров в функцию, можно передавать по адресу, а можно по занчению. Различие: по адресу, если изменить значение переменной, то изменится и переменная переданная в аргументы, т.е

void func(int &a)
{
a = 123;
}

И вызов её где-то в тексте проги:

int b = 10;
func(b);
printf(b);//Выведет 123.

По значению, всё что хотите делайте с переменной переданной в функцию, изначальное значение не поменяется, так как вы будете общаться с копией данной переменной.
Вроде, ничего не напутал.
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн TiPo

  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #2 : 21 Августа 2013, 07:52:34 »
Может я скажу не в тему, но с указателями я впервые познакомился благодаря паскалю. В книге "Песни о паскале"(http://oleg-derevenets.narod.ru/).
Denis_Az, если что, то можете прочитать 51 и 52 главы(совсем небольшие) в вышеуказанной книге. В этой книге об указателях написано так, чтобы даже новичок в программировании понимал о них.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #3 : 21 Августа 2013, 08:35:41 »
JmAbuDabi,
ну все же немного не то, вы в примере передали по ссылке, это не как не относится к указателям...
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #4 : 21 Августа 2013, 10:59:49 »
JmAbuDabi,
ну все же немного не то, вы в примере передали по ссылке, это не как не относится к указателям...
Общее что-то есть...
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #5 : 21 Августа 2013, 11:10:03 »
JmAbuDabi,
общее только адрес в памяти  :) больше ничего :)  если передавать по ссылке то вы ограничены в работе с самим адресом...
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #6 : 21 Августа 2013, 11:36:46 »
JmAbuDabi,
общее только адрес в памяти  :) больше ничего :)  если передавать по ссылке то вы ограничены в работе с самим адресом...
+1)
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Что нужно знать перед изучением C++?
« Ответ #7 : 21 Августа 2013, 13:56:03 »
Перед изучением каждого более или менее сложного языка, нужно знать язык легче этого языка. Как уже рекомендовали, Pascal, для общего развития; Python, прост, легок и прививает писать красивый код; Java - не легче, но тоже будет полезно. Если вы знаете только HTML (НЕ язык программирования) и JS, то мой совет - выучите еще что-нибудь. С голым C++ вы никуда дальше не пойдете. Вы будете учить язык, но не понимать программирование. Кстати, у вас в школе что по математике было?  :coolsmiley:

SlimmeJongen

  • Гость
Re: Что нужно знать перед изучением C++?
« Ответ #8 : 21 Августа 2013, 14:37:40 »
Указатель привязывает адрес ячейки памяти к имени переменной и фактически к ее типу.
Это похоже на контейнер мусора на котором написано "стекло", "стекло" - тип переменной, а контейнер - ячейка памяти.
« Последнее редактирование: 21 Августа 2013, 14:44:34 от SlimmeJongen »

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #9 : 21 Августа 2013, 15:01:45 »
Grigory Smirnov, а чего там понимать то? Вроде как просто, тупо инструкции для компьютера, всё искусство в том,чтоб было и читающему код понятно и для компьютера оптимизирован, и тут даже не математика (алгебра) главное, а логика. А на самом деле сложно, опыт нужен, а не только понимание.
Denis_Az, помни, что в C++ можно почти всё, даже то, что неправильно, потому будь внимателен и код оформляй правильно, советую использовать верблюжью нотацию при названии пременных, классов и т.д.
Указатель - это адрес в памяти, по которому расположена переменная.
А знать надо математику, особенно хорошо надо уметь решать задачки по вопросам, если в школе с этим проблем не было, тогда всё относительно легко, да и Ваш возраст важен, если Вы слишком молоды, то C++ собъёт вас с толку, если слишком стары, то не осилите.

Оффлайн Denis_Az

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #10 : 21 Августа 2013, 15:28:48 »
Не хочу хвастаться, но с естественными науками у меня было всё отлично. Всё на 5. Вот с гуманитарными было по хуже.

Пользователь решил продолжить мысль 21 Августа 2013, 15:39:32:
Может я скажу не в тему, но с указателями я впервые познакомился благодаря паскалю. В книге "Песни о паскале"(http://oleg-derevenets.narod.ru/).
Denis_Az, если что, то можете прочитать 51 и 52 главы(совсем небольшие) в вышеуказанной книге. В этой книге об указателях написано так, чтобы даже новичок в программировании понимал о них.
Спасибо очень помогли ;-).
Хватило 51 первой и то 2 статьи потребовались "Погружение в оперативную память" и "Планировка памяти". В конечном счёте указатели нужны при проектировки больших приложений, чтобы вовремя загружать и выгружать данные. Возможно я не совсем правильно сказал, скорее всего создавать и удалять. Ну да ладно всем спасибо =))))
« Последнее редактирование: 21 Августа 2013, 15:39:32 от Denis_Az »

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Что нужно знать перед изучением C++?
« Ответ #11 : 21 Августа 2013, 15:47:50 »
peregrine, учиться надо не только языку программированию, но и самому программированию. Знать чисто синтаксис -   :-\

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #12 : 21 Августа 2013, 15:50:56 »
Grigory Smirnov, знаю, но это с опытом приходит, если программировать, ну и почитывать потихоньку.

Пользователь решил продолжить мысль 21 Августа 2013, 15:51:15:
Denis_Az, указатели и в маленьких программах нужны.

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Что нужно знать перед изучением C++?
« Ответ #13 : 21 Августа 2013, 15:54:40 »
peregrine, ну да. Программа загружает обои каждый день с некоего ресурса. И ставит как background. Вопрос: ей нужны указатели?

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7215
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Что нужно знать перед изучением C++?
« Ответ #14 : 21 Августа 2013, 15:57:21 »
Grigory Smirnov, это смотря как писать.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.