CMPE 320: Fundamentals of Software Development (2019 True/False Questions)
A C++ array will not allow you to supply index values that are out of range of the array.
False
A CIL file created by the CLR in C++/CLI is not only too many acronyms, but is also written as executable binary code in a *.exe file.
False
A UML State chart diagram is used to display the possible states of an object used for polymorphism.
False
A default constructor is invoked with a set of empty brackets, ().
False
A git repository only stores the newest version of any file. Older versions are deleted.
False
A git repository relies on the use of a centralized server to store all files.
False
A pointer that has been assigned to nullptr will be evaluated as being true.
False
A struct can only contain members that are all of the same type.
False
A vector collection from the STL cannot use [ ] to access members.
False
A virtual function that overrides a parent class version of itself can also change the default arguments used by the parent class version.
False
Any use of a git repository requires an internet connection.
False
Assignment operators must be overloaded as non-member functions.
False
Atomic types (like int) cannot be initialized using () as objects are.
False
C++ does not allow for multiple inheritance.
False
C++ does not allow the definition of lambda functions.
False
C++ was developed by Ken Thompson and Dennis Ritchie.
False
C++11 was the first standard released by the ISO group for the C++ language.
False
Constructors should always be declared as const.
False
Deleting an uninitialized pointer will not cause a problem because this pointer will automatically be nullptr after declaration.
False
Dividing a non-zero double type value by zero causes a run-time error.
False
Function objects can be created by overloading the [] brackets.
False
Functional requirements must describe "how well" a feature must be implemented by the system.
False
In a Boolean expression a non-zero integer will be considered as false.
False
It is not legal to have a pointer to an atomic type variable, like an int.
False
It is possible to have many unique_ptr<> pointers pointing to the same object on the heap.
False
Local variables cannot be declared as static.
False
Only exceptions that extend std::Exception can be thrown.
False
Only one class can be implemented at a time in a *.cpp file.
False
Program instructions are stored on the heap.
False
Programs that have implementation code in the header, or *.h, file will not compile.
False
Pure virtual function declarations must be implemented by the class that declares them.
False
System architecture details are described in the RAD.
False
Template declarations are able to restrict possible types supplied to the template in code.
False
Templates can only be written to accept a single type.
False
The "CLI" in C++/CLI stands for "Common Language Interpreter".
False
The GCC compiler (ported to MinGW) is the only C++ compiler that adheres to the ISO standards.
False
The SDD cannot change once it has been written.
False
The STL string class is immutable.
False
The amount of memory used by your program on the heap, or "freestore", is fixed at compilation time.
False
The delete operator can also be used to delete an array allocated on the heap.
False
The delete operator will automatically set a pointer to nullptr after deletion.
False
The initialization section in a constructor's implementation can be used to carry out error checking on the arguments supplied to the constructor.
False
The memory consumed by a reference depends on whether you are using a 32-bit or a 64- bit compiler.
False
The operator, &, acts to de-reference a pointer.
False
The operator, |, is the same as ||, except that it does not use short-circuit evaluation.
False
The use of private as a base class access modifier will not change the access of members inherited from the base class.
False
The var keyword uses type inference to type variables in C++.
False
Variables cannot be declared outside a function or class.
False
You can overload an inherited function by using the same function name and a different parameter list in the child class.
False
You still have to invoke the delete operator to start the destruction process of a smart pointer.
False
new or new[] will return a null ptr if heap memory cannot be allocated.
False
Templated functions are typed and built with that type during compilation in order to minimize execution times.
True
The #pragma once pre-compiler directive can be used to prevent the re-declaration of a header file's contents.
True
The *.cpp file containing the implementation of the declarations contained in a header, or *.h, file must have an #include statement for that header file.
True
The C standard library is included in the standard C++ library.
True
The assignment operator, =, returns the value being assigned.
True
The creation of a branch in a git repository allows you to choose a subset of the available files to work on.
True
The function make_unique<>() does not require the use of the new operator to put the object being pointed to on the heap.
True
The goto statement is legal syntax in C++.
True
The long double type uses extended precision in C++.
True
The new operator provides a pointer to a structure stored on the heap.
True
The operator, ->, combines de-referencing and membership when used with a pointer.
True
The operators, * and ->, can still be used with smart pointers from the STL.
True
The string member function, .at(), will throw an exception of an attempt is made to access a character beyond the size of the string.
True
The vector member function, .at(), can be used on the LHS of an assignment statement.
True
To differentiate between pre- and post-increment operator overloadings, the post- increment version must have an un-used int type parameter.
True
Use of the heap in any class in a hierarchy requires a virtual destructor be declared in the base class of that hierarchy.
True
You cannot change the precedence of an operator by overloading it.
True
Conversion constructors can allow mixed type expressions to work with overloaded binary operators.
True
Copy constructors and overloaded assignment operator implementations are also responsible for preventing the aliasing of object contents.
True
Default arguments must be assigned in a function prototype, or declaration, only.
True
If a single namespace is used with the "using" keyword then the scope resolution operator will not be needed to identify names from that namespace.
True
If const is used at the end of a member function declaration then that function cannot change the values contained in the attributes of its own class.
True
In a hierarchy that uses the heap, a child class' copy constructor needs to invoke the parent class' copy constructor.
True
Inline functions must be implemented in the header file.
True
It is bad practice to return a reference to a variable that is local to the function returning it.
True
It is good practice to provide a comment for every git commit to provide the reason for the commit.
True
Managed code in C++/CLI requires the use of handles and gcnew instead of pointers and new.
True
Member functions declared as "explicit" cannot be automatically invoked to help evaluate mixed type expressions.
True
Memory leaks tend to manifest more often for long running programs.
True
Non-member friend functions are able to invoke accessors on arguments of the class type they are friends to, in order to obtain their attribute values.
True
Passing a child class instance by value into a function using a parent type parameter will result in object slicing.
True
Passing by constant reference is usually the best way to pass an argument into a function.
True
Polymorphism must be enabled by declaring the parent class version of the function of interest to be virtual.
True
Smart pointers implement "nearly complete" automatic garbage collection.
True
Static binding is determined by the pointer type at compilation.
True
Coding both a conversion constructor and an overloaded conversion operator for the same type can lead to an ambiguity.
True
"O-code" files need to be processed to executable files before being sent to the OS for execution.
True
A "memory leak" is a result of not properly deleting a heap allocated structure.
True
A C++ program can contain and compile well-written C code.
True
A dynamic_cast<type> throws an exception if a pointer cannot be cast to the specified type.
True
A function can return a stable pointer to a local variable provided that variable is stored on the heap.
True
A reference cannot be assigned to nullptr.
True
Ambiguities can result from using the "using" keyword for too many namespaces.
True
An agile team expects to be coding, designing and testing all at the same time.
True
An overloaded pre-increment function will run faster than the equivalent overloaded post- increment version.
True
Any programming language used in .NET must follow the CLS rules which includes the mandated use of shared object types for what ISO C++ considers atomic types.
True
By using pointer arithmetic it is possible to read memory locations that have not been assigned to variables.
True
C++ programs are first compiled to intermediate "O-code" files.
True
C++ style casts are templated.
True