Kuest AI

Study anything, free

Start free

Learn C++ 10x faster with AI

Pointers, references and memory, explained with diagrams. Paste your code or compiler error and Kuest helps you work out what went wrong.

4.87en iOS13,917,000+estudiantes ya estudian con Kuest

topics
10
Type
Compiled, statically typed
Typical level
College CS1, CS2 and data structures
Leads to
Systems, game dev, embedded

See how Kuest teaches it

It asks before it tells, so you do the thinking and it sticks.

You: void addOne(int x) { x = x + 1; } I call addOne(n) with n = 5 and n is still 5. Why?
Kuest: When you call addOne(n), does the function get n itself or something else?
You: I thought it got n, but maybe it gets a copy?
Kuest: Yes, int x is a copy. So which variable does x = x + 1 change?
You: Only the copy x, and it disappears when the function ends. n never changes.
Kuest: Exactly. What small change to the parameter would let the function change n?
You: Make it a reference: void addOne(int& x). Then x is another name for n, so n becomes 6.

Parameters are copies by default; add & to pass by reference when a function must change the caller's variable.

Students who lock in with Kuest

students
13,917,000+
App Store rating
4.87
countries
100+
  • From a C to an A in chem

    “I stopped copying answers and started actually getting it. My chem grade went from a C to an A in one semester.”

    Junior, Texas
  • 3 hours → 40 minutes

    “My notes turn into a quiz in seconds. What used to take me all night now takes one episode of a show.”

    Sophomore, California
  • Finally ready for the SAT

    “The plan told me exactly what to do each day. I walked in calm for the first time ever.”

    Senior, New York
  • It never lets me skip a step

    “Annoying at first, lifesaver on test day. I could do every problem without it.”

    Freshman, Ohio
  • Better than my tutor

    “It's there at midnight, it's patient, and it costs less than one session with my old tutor.”

    College freshman, Florida
  • My streak is at 94 days

    “The quests are ten minutes. I do them on the bus. Somehow I'm now the one explaining bio to my friends.”

    Junior, Illinois
  • Spanish finally clicked

    “Talking out loud with the tutor fixed my pronunciation faster than a whole year of class.”

    Sophomore, Arizona
  • Found my gaps in one night

    “The gap check showed me I'd never understood moles. Fixed it in 15 minutes.”

    Junior, Georgia
  • Parent here: no more 9pm meltdowns

    “My son gets real help without me pretending I remember calculus, and I can see his progress every week.”

    Parent, Washington

The method

How to study C++ with Kuest

C++ gets easier once you can picture memory: where each variable lives, what a pointer holds and when an object is destroyed. Draw it out, read compiler errors from the first one, and practice small programs often rather than big ones rarely.

  1. Learn one feature at a timeTutor chat

    Ask about references, vectors or classes and answer Kuest's check questions before stacking the next idea.

  2. Draw memoryTeaching board

    See the stack, the heap and what each pointer points to drawn on the teaching board.

  3. Decode compiler errorsSnap a photo

    Paste your code and the compiler output, or snap your screen, and Kuest helps you find the first real error.

  4. Predict the outputQuizzes

    Answer quizzes on snippets with pointers, references and loops: what prints, and what's undefined behavior.

  5. Remember the rulesFlashcards

    Review pass-by rules, const, and common Standard Library calls as spaced flashcards.

  6. Target weak spotsGap finder

    Let Kuest find what you keep missing, like pointer arithmetic or object lifetime, and drill just that.

What you'll cover

Tap a topic to learn it now.

  1. 01Program structure and compilingWrite main, use #include and understand compiling and linking
  2. 02Types, input and outputUse int, double, char and bool with std::cin and std::cout
  3. 03Control flowWrite if, switch, for and while loops correctly
  4. 04Functions and parametersPass by value, by reference and by const reference and know when to use each
  5. 05Arrays, strings and std::vectorStore collections with std::vector and std::string instead of raw arrays
  6. 06Pointers and referencesExplain addresses, dereferencing with * and why pointers can be null
  7. 07Memory and object lifetimeExplain the stack and heap, new and delete, and why smart pointers help
  8. 08Classes and objectsWrite classes with constructors, destructors and public and private members
  9. 09Inheritance and polymorphismOverride virtual functions and use base-class pointers safely
  10. 10The Standard Library and templatesUse std::map, algorithms like std::sort, and simple function templates

Try asking

Tap a question and Kuest starts teaching it, step by step.

Helps you prepare for

  • Intro to programming (CS1) and CS2 courses
  • Data structures courses
  • Computer science finals

A month of Kuest costs less than one hour with a tutor

Same patience, any hour, every subject. Or stay on the free plan for good.

Private tutor

$40–80for one hour

  • Booked days in advance
  • One subject per session
  • Stops when the hour ends

Kuest Plus

$10a month, billed yearly

  • Every subject and exam on this site
  • Any hour, as long as you need
  • Quizzes, flashcards, podcasts and mock exams

Study on any device

Phone, tablet or laptop. Your chats, plans and flashcards come with you.

Questions, answered

Your next study session starts here

Free forever plan. No card needed.

Start free