WorksheetsMastering Pointers in C++
Total questions: 10
Worksheet time: 5mins
What is a pointer in C++?
A pointer is a type of function in C++.
A pointer is a variable that stores a string in C++.
A pointer is a special kind of loop in C++.
A pointer is a variable that holds the address of another variable in C++.
How do you declare a pointer variable?
int ptr;
pointer int ptr;
*int ptr;
int *ptr;
What is the purpose of the 'new' operator in memory management?
To allocate memory for a new object and initialize it.
To create a copy of an existing object.
To free up memory used by an object.
To check if an object is null.
Explain the difference between a pointer and a reference.
A pointer is always initialized, while a reference can be uninitialized.
A pointer can only point to integers, while a reference can point to any data type.
A pointer is a type of variable, while a reference is a function.
A pointer holds a memory address and can be reassigned; a reference is an alias for a variable and cannot be changed.
What happens if you dereference a null pointer?
Dereferencing a null pointer results in a warning but continues execution.
Dereferencing a null pointer returns a valid memory address.
Dereferencing a null pointer results in undefined behavior, often causing a program crash.
Dereferencing a null pointer automatically fixes the error.
How can you dynamically allocate an array using pointers?
Use 'int array[n];' to declare a static array.
Use 'array = malloc(n);' without specifying size of int.
Use 'int *array = (int *)malloc(n * sizeof(int));' to allocate an array of 'n' integers.
Allocate memory using 'new int[n];' in C.
What is a memory leak and how can it occur in C++?
A memory leak in C++ is when allocated memory is not released, often due to lost pointers after using 'new' without corresponding 'delete'.
A memory leak is when memory is allocated but immediately freed.
Memory leaks happen when using 'delete' without 'new'.
A memory leak occurs when memory is automatically released after use.
How do you free dynamically allocated memory?
Use 'free(pointer)' for malloc/calloc/realloc and 'delete pointer' for new.
Invoke 'clear(pointer)' to release memory
Call 'remove(pointer)' for new allocations
Use 'dispose(pointer)' for malloc/calloc/realloc
What is the role of the 'delete' operator?
The 'delete' operator creates a new object without any properties.
The 'delete' operator removes a property from an object.
The 'delete' operator modifies the value of a property in an object.
The 'delete' operator adds a property to an object.
Explain the concept of pointer arithmetic.
Pointer arithmetic is only applicable to integer data types.
Pointer arithmetic allows you to navigate through memory addresses based on the data type size, enabling efficient array and data structure manipulation.
Pointer arithmetic is a method for sorting arrays in descending order.
Pointer arithmetic is used to allocate memory dynamically without any data type consideration.
