C/C++

Как научиться использовать указатели?

Почитал я про эти ваши указатели, а вот как их на практике применять - непонятно. Мне непонятно, когда их создавать, когда уничтожать, когда создавать динамический массив, а когда нет. Мне нужна книга, которая позволит мне быть прошаренным в плюсах. Этакую архитектуру кода строить нормальную.
Указатели активно применяются для работы с массивами.
  1. Допустим, у тебя есть массив 16 Mb, размер которого постоянно меняется, где ты будешь его хранить? На стеке, на диске или в куче? Будешь хранить на диске, программа будет тормозить. По умолчанию, стек ограничен 8 Mb. Можно скомпилировать программу, увеличив размер стека, но тогда ты отожрешь у операционки размер стека, применяемый в твоей программе. А если у тебя на машине нужно запустить несколько таких процессов?
  2. Вот тебе задачка: int num = 0x0d12e5a2, нужно из num создать массив char b[4], где b[0] = 0x0d, b[1] = 0x12, b[2] = 0xe5, b[3] = 0xa2. У тебя массив int состоит из 10 миллионов случайных чисел и следовательно, тебе нужно создать из него массив из 40 миллионов char. Как будешь преобразовывать? Сдвигами >> или с помощью указателей? Напиши две программы и сравни, какая из них легче (причем намного!) и быстрее работает.
Алексей Тимофеев
Алексей Тимофеев
3 457
Лучший ответ
Алексей Тимофеев P.S.: можно усложнить задачу: поменять в массиве int 1 и 3 байты местами и создать массив char.
Из книг про указатели почитай "Pointers in C: A Hands on Approach" Naveen Toppo, Hrishikesh Dewan
Но она на английском и для языка C (но это не важно, он будет полезна и для C++)
Никак.
Кирилл Щемелёв
Кирилл Щемелёв
14 574
Я тоже эту хрень не хрена не понял.
Степан Бекчив
Степан Бекчив
4 553
Степан Бекчив Пиши на C# там никаких указателей нету.
У меня с классами так было, я до сих пор с ними не знаком !
Читал древнюю херню и там код кривой был.
И практики классов лишился, но заново буду изучать С++ с самого 0.

В общем так по книге что такое Классы я вообще не понял.
Хоть убей не понял, либо слишком тупой либо внимание отсутствует.

Загуглил на другом сайте все прочел сразу все понял.
Да и там маленький рабочий пример был.

Так я вот думаю что тебе тоже просто стоит прочитать на других сайтах.