Kuest AI

Изучайте что угодно — бесплатно

Начать бесплатно

Изучай C++ в 10 раз быстрее с ИИ

Указатели, ссылки и память — с объяснениями на схемах. Вставь свой код или ошибку компилятора, и Kuest поможет понять, что пошло не так.

817,000+учеников уже занимаются с Kuest

тем
10
Тип
Компилируемый, со статической типизацией
Типичный уровень
Университетские курсы CS1, CS2 и структуры данных
Применяется в
Системах, разработке игр, встраиваемых системах

Посмотрите, как объясняет Kuest

Сначала он спрашивает, а потом объясняет — так вы думаете сами и лучше запоминаете.

Вы: void addOne(int x) { x = x + 1; } Я вызываю addOne(n), когда n = 5, но n всё равно равно 5. Почему?
Kuest: Когда ты вызываешь addOne(n), функция получает само n или что-то другое?
Вы: Я думал, что получает n, но, может быть, она получает копию?
Kuest: Да, int x — это копия. Так какую переменную меняет x = x + 1?
Вы: Только копию x, и она исчезает, когда функция заканчивается. n никогда не меняется.
Kuest: Именно. Какое небольшое изменение параметра позволило бы функции изменить n?
Вы: Сделать его ссылкой: void addOne(int& x). Тогда x — другое имя для n, поэтому n станет равно 6.

По умолчанию параметры передаются как копии; добавь &, чтобы передать по ссылке, когда функции нужно изменить переменную вызывающего кода.

Ученики, которые всерьёз занимаются с Kuest

учеников
817,000+
стран
100+
  • С C до A по химии

    “Я перестал списывать ответы и начал по-настоящему понимать. За один семестр моя оценка по химии выросла с C до A.”

    11-й класс, Техас
  • 3 часа → 40 минут

    “Мои конспекты за секунды превращаются в тест. То, на что раньше уходил весь вечер, теперь занимает столько же, сколько одна серия.”

    10-й класс, Калифорния
  • Наконец готов к SAT

    “План точно говорил, что делать каждый день. Впервые я пришёл на экзамен спокойным.”

    12-й класс, Нью-Йорк
  • Не даёт мне пропустить ни шаг

    “Сначала раздражало, но в день теста это спасло. Я смог решить каждую задачу без него.”

    9-классник, Огайо
  • Лучше, чем мой репетитор

    “Он доступен и в полночь, терпелив и стоит меньше, чем одно занятие с моим прежним репетитором.”

    Студент 1-го курса, Флорида
  • Моя серия — уже 94 дня

    “Квесты занимают десять минут. Я делаю их в автобусе. И каким-то образом теперь уже я объясняю друзьям биологию.”

    11-классник, Джорджия
  • Испанский наконец стал понятен

    “Разговоры вслух с тьютором помогли исправить произношение быстрее, чем целый год занятий.”

    10-классник, Аризона
  • Нашёл пробелы за один вечер

    “Проверка пробелов показала, что я вообще не понимал моли. Разобрался за 15 минут.”

    11-классник, Джорджия
  • Родитель на связи: больше никаких срывов в 9 вечера

    “Мой сын получает настоящую помощь, а мне не нужно делать вид, что я помню матанализ. И я каждую неделю вижу его прогресс.”

    Родитель, Вашингтон

Методика

Как изучать C++ с Kuest

C++ становится проще, когда ты можешь представить память: где находится каждая переменная, что хранит указатель и когда объект уничтожается. Рисуй схемы, читай ошибки компилятора начиная с первой и чаще практикуйся на небольших программах, а не редко — на больших.

  1. Изучай по одной возможности за разЧат с наставником

    Спрашивай о ссылках, векторах или классах и отвечай на проверочные вопросы Kuest, прежде чем переходить к следующей теме.

  2. Рисуй памятьУчебная доска

    Смотри на учебной доске схемы стека, кучи и того, на что указывает каждый указатель.

  3. Расшифровывай ошибки компилятораСфотографировать

    Вставь код и вывод компилятора или сделай снимок экрана — Kuest поможет найти первую настоящую ошибку.

  4. Предсказывай выводКвизы

    Отвечай на вопросы по фрагментам кода с указателями, ссылками и циклами: что выведется и где неопределённое поведение.

  5. Запоминай правилаКарточки

    Повторяй правила передачи параметров, const и распространённые вызовы Стандартной библиотеки с интервальными карточками.

  6. Работай над слабыми местамиПоиск пробелов

    Пусть Kuest определит, в чём ты постоянно ошибаешься — например, в арифметике указателей или времени жизни объектов — и тренируй именно это.

Что вы изучите

Нажмите на тему, чтобы начать изучать её сейчас.

  1. 01Структура программы и компиляцияПиши main, используй #include и разбирайся в компиляции и линковке
  2. 02Типы, ввод и выводИспользуй int, double, char и bool со std::cin и std::cout
  3. 03Управляющие конструкцииПравильно пиши if, switch, циклы for и while
  4. 04Функции и параметрыПередавай параметры по значению, по ссылке и по константной ссылке и знай, когда что использовать
  5. 05Массивы, строки и std::vectorХрани коллекции в std::vector и std::string вместо обычных массивов
  6. 06Указатели и ссылкиРазберись в адресах, разыменовании с помощью * и в том, почему указатели могут быть null
  7. 07Память и время жизни объектовРазберись в стеке и куче, new и delete, а также в том, чем полезны умные указатели
  8. 08Классы и объектыПиши классы с конструкторами, деструкторами, публичными и приватными членами
  9. 09Наследование и полиморфизмПереопределяй виртуальные функции и безопасно используй указатели на базовый класс
  10. 10Стандартная библиотека и шаблоныИспользуй std::map, алгоритмы вроде std::sort и простые шаблоны функций

Попробуйте спросить

Нажмите на вопрос — и Kuest начнёт объяснять его шаг за шагом.

Поможет подготовиться к

  • Курсы по введению в программирование (CS1) и CS2
  • Курсы по структурам данных
  • Итоговые экзамены по информатике

Месяц с Kuest стоит дешевле часа с репетитором

То же терпение, в любое время, по любому предмету. Или оставайтесь на бесплатном плане навсегда.

Репетитор

$40–80за один час

  • Запись за несколько дней
  • Один предмет за занятие
  • Занятие заканчивается через час

Kuest Plus

$10в месяц при оплате за год

  • Все предметы и экзамены на этом сайте
  • В любое время и столько, сколько нужно
  • Квизы, карточки, подкасты и пробные экзамены

Ответы на вопросы

Ваша следующая учебная сессия начинается здесь

Бесплатный план навсегда. Карта не нужна.

Начать бесплатно