Which of the following is a correct file extension for a C++ source file?
- .cpp
- .html
- .java
- .py
C++ source files typically have the extension ".cpp", although other extensions like ".cc" or ".cxx" are also used sometimes.
In a function that needs to return multiple values, which method of parameter passing might be employed to facilitate this without using data structures like tuples or pairs?
- Using global variables
- Using static variables
- Passing by reference
- Using std::vector
When parameters are passed by reference to a function, the function can modify the original values of those parameters. By passing additional parameters by reference, a function can effectively "return" more than one value without relying on composite data structures like tuples or pairs. This method is often used for out parameters in functions.
What does the break statement do in a loop structure?
- Exits the entire program.
- Skips to the next iteration.
- Exits the loop immediately.
- Continues to execute the loop from the start.
The break statement in C++ is used to exit the loop immediately, bypassing the rest of the loop's code and any remaining iterations. This can be especially useful for exiting a loop when a specific condition is met.
What could be a reason for choosing pass by pointer over pass by reference in a function?
- Allow null arguments
- To increase execution speed
- To reduce code complexity
- For automatic memory management
Pass by pointer allows for the possibility of passing a null argument. In contrast, references in C++ must always alias some object, meaning you can't have a null reference. When a function needs to accept a "no-object" situation, using a pointer can be preferable since it can be checked for nullity.
A _______ is a smart pointer that owns and manages another object through a pointer and disposes of that object when the _______ goes out of scope.
- auto_ptr
- unique_ptr
- shared_ptr
- raw_ptr
A unique_ptr in C++ is a type of smart pointer that owns a dynamically allocated object exclusively. It ensures that the owned object is properly deallocated once the unique_ptr that owns it goes out of scope, preventing memory leaks.
Imagine you are implementing a high-frequency trading system...
- std::fstream with buffering
- mmap based I/O
- std::cout
- std::ofstream with std::ios::sync_with_stdio(false)
mmap based I/O, which maps a file into memory, allows for very fast file operations since it avoids certain system calls and can result in fewer memory-copy operations than traditional read/write functions. This is crucial for high-frequency systems where latency is critical.
The _______ statement is used to prematurely exit a switch-case block.
- return
- break
- continue
- exit
The "break" statement is used to exit a switch-case block prematurely. Once a "break" is encountered, the control jumps out of the switch-case structure.
Which method will you use to write a single character to the file stream in C++?
- put()
- write()
- insert()
- push()
The put() method is used to write a single character to a file stream in C++. The write() method is typically used to write blocks of binary data, while insert() and push() aren't standard methods for this purpose in C++ streams.
The _______ keyword is used when we want to explicitly pass by reference but prevent the function from modifying the argument.
- const
- static
- virtual
- inline
The const keyword is used in C++ to indicate that a value shouldn't be modified. When passing an argument by reference, using const before the parameter type ensures that the function does not alter the original data, providing a level of safety.
The _______ function is automatically called when an object is destroyed.
- destructor
- finalizer
- deleter
- remover
In C++, when an object's lifetime ends, its destructor is called automatically. A destructor is a member function with the same name as its class preceded by a tilde (~).