yikes Flashcards

1
Q

Who made c++

A

Bjarne Stroustrup

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

C++11 was the first standard released by the ISO group for the C++ language.

A

The first ISO standard for the C++ programming language was C++98, released in 1998.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The C standard library is included in the standard C++ library.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A C++ program can contain and compile well-written C code.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

C++ programs are first compiled to intermediate “O-code” files.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The GCC compiler (ported to MinGW) is the only C++ compiler that adheres to the ISO
standards.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Atomic types (like int) cannot be initialized using ( ) as objects are.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The long double type uses extended precision in C++.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The var keyword uses type inference to type variables in C++.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Dividing a non-zero double type value by zero causes a run-time error.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

C++ style casts are templated.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The memory consumed by a reference depends on whether you are using a 32-bit or a 64-
bit compiler.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A reference cannot be assigned to nullptr.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

It is not legal to have a pointer to an atomic type variable, like an int.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

The operator, &, acts to de-reference a pointer.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The operator, ->, combines de-referencing and membership when used with a pointer.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

By using pointer arithmetic it is possible to read memory locations that have not been
assigned to variables.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

A C++ array will not allow you to supply index values that are out of range of the array.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

A struct can only contain members that are all of the same type.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

The operator, |, is the same as ||, except that it does not use short-circuit evaluation.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

The assignment operator, =, returns the value being assigned.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

In a Boolean expression a non-zero integer will be considered as false.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

A pointer that has been assigned to nullptr will be evaluated as being true.

A

F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

The goto statement is legal syntax in C++.

A

T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
A vector collection from the STL cannot use [ ] to access members.
F
25
The vector member function, .at(), can be used on the LHS of an assignment statement.
T
26
The string member function, .at(), will throw an exception of an attempt is made to access a character beyond the size of the string.
T
27
The STL string class is immutable.
F
28
Programs that have implementation code in the header, or *.h, file will not compile.
F
29
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.
T
30
The #pragma once pre-compiler directive can be used to prevent the re-declaration of a header file’s contents.
T
31
Only one class can be implemented at a time in a *.cpp file.
F
32
Only exceptions that extend std::Exception can be thrown.
F
33
Constructors should always be declared as const.
F
34
Passing by constant reference is usually the best way to pass an argument into a function.
T
35
The initialization section in a constructor’s implementation can be used to carry out error checking on the arguments supplied to the constructor.
F
36
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.
T
37
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.
T
38
Ambiguities can result from using the “using” keyword for too many namespaces.
T
39
A default constructor is invoked with a set of empty brackets, ( ).
F
40
Variables cannot be declared outside a function or class.
F
41
It is bad practice to return a reference to a variable that is local to the function returning it.
T
42
Local variables cannot be declared as static.
F
43
Default arguments must be assigned in a function prototype, or declaration, only.
T
44
C++ does not allow the definition of lambda functions.
F
45
Inline functions must be implemented in the header file.
T
46
You cannot change the precedence of an operator by overloading it.
T
47
Assignment operators must be overloaded as non-member functions.
F
48
Conversion constructors can allow mixed type expressions to work with overloaded binary operators.
T
49
Conversion constructors can allow mixed type expressions to work with overloaded binary operators.
T
50
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.
T
51
To differentiate between pre- and post-increment operator overloadings, the post- increment version must have an un-used int type parameter.
T
52
An overloaded pre-increment function will run faster than the equivalent overloaded post- increment version.
T
53
Coding both a conversion constructor and an overloaded conversion operator for the same type can lead to an ambiguity.
T
54
Member functions declared as “explicit” cannot be automatically invoked to help evaluate mixed type expressions.
T
55
Function objects can be created by overloading the [ ] brackets.
F
56
The amount of memory used by your program on the heap, or “free store”, is fixed at compilation time.
F
57
Program instructions are stored on the heap.
F
58
The new operator provides a pointer to a structure stored on the heap.
T
59
A function can return a stable pointer to a local variable provided that variable is stored on the heap.
T
60
new or new[] will return a nullptr if heap memory cannot be allocated.
F
61
The delete operator can also be used to delete an array allocated on the heap.
F
62
A “memory leak” is a result of not properly deleting a heap allocated structure.
T
63
Memory leaks tend to manifest more often for long running programs.
T
64
The delete operator will automatically set a pointer to nullptr after deletion.
F
65
Deleting an uninitialized pointer will not cause a problem because this pointer will automatically be nullptr after declaration.
F
66
Passing a child class instance by value into a function using a parent type parameter will result in object slicing.
T
67
A dynamic_cast throws an exception if a pointer cannot be cast to the specified type.
T
68
Copy constructors and overloaded assignment operator implementations are also responsible for preventing the aliasing of object contents.
t
69
The use of private as a base class access modifier will not change the access of members inherited from the base class.
F
70
C++ does not allow for multiple inheritance.
F
71
Polymorphism must be enabled by declaring the parent class version of the function of interest to be virtual.
T
72
You can overload an inherited function by using the same function name and a different parameter list in the child class.
F
73
Static binding is determined by the pointer type at compilation.
T
74
Pure virtual function declarations must be implemented by the class that declares them.
F
75
Use of the heap in any class in a hierarchy requires a virtual destructor be declared in the base class of that hierarchy.
T
76
In a hierarchy that uses the heap, a child class’ copy constructor needs to invoke the parent class’ copy constructor.
T
77
A virtual function that overrides a parent class version of itself can also change the default arguments used by the parent class version.
F
78
Template declarations are able to restrict possible types supplied to the template in code.
F
79
Templated functions are typed and built with that type during compilation in order to minimize execution times.
T
80
Templates can only be written to accept a single type.
F
81
Smart pointers implement “nearly complete” automatic garbage collection.
T
82
It is possible to have many unique_ptr<> pointers pointing to the same object on the heap.
F
83
The operators, * and ->, can still be used with smart pointers from the STL.
T
84
The function make_unique<>() does not require the use of the new operator to put the object being pointed to on the heap.
T
85
You still have to invoke the delete operator to start the destruction process of a smart pointer.
F
86
The “CLI” in C++/CLI stands for “Common Language Interpreter”.
F
87
The “CLI” in C++/CLI stands for “Common Language Interpreter”.
Common language infrastructure
88
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.
F
89
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.
F - DLL file
90
Managed code in C++/CLI requires the use of handles and gcnew instead of pointers and new.
T
91
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.
T
92
An agile team expects to be coding, designing and testing all at the same time.
T
93
System architecture details are described in the RAD.
F
94
Functional requirements must describe “how well” a feature must be implemented by the system.
F
95
A git repository only stores the newest version of any file. Older versions are deleted.
F
96
Any use of a git repository requires an internet connection.
F
97
The SDD cannot change once it has been written.
F
98
It is good practice to provide a comment for every git commit to provide the reason for the commit.
T
99
A git repository relies on the use of a centralized server to store all files.
F
100
The creation of a branch in a git repository allows you to choose a subset of the available files to work on.
T
101
A UML Statechart diagram is used to display the possible states of an object used for polymorphism.
F
102
A UML Sequence diagram is used to display the dynamic interactions of objects along a timeline.
T
103
A Sequence diagram must be initiated by an actor (typically a “human”).
T
104
A UML Class diagram presents a static view of classes in a system, their members and the inheritance structure.
T
105
Design goals are extracted from Non-Functional requirements.
T
106
The goal of a good code structure design is to have strong coupling between systems and weak cohesion within each system.
F
107
If issue progress is not tracked using changing time estimates then the burndown chart shown by Jira will be meaningless.
T
108
User stories are always translated into Jira as a single issue.
F
109
Task type issues that are not completed in a sprint are deleted and then re-created for the next sprint.
F
110
In order for an issue to be created it must be assigned to a sprint.
F
111
Issue priorities must be assigned once activity is underway for that issue.
F
112
Gantt charts are used by Jira for sprint planning purposes.
F
113
A sprint should always result in a demonstrable deliverable.
T
114
A SCRUM meeting is the same as what students call a “Codeathon”.
F
115
It is possible to create a link from an issue in Jira to a file in Bitbucket.
T
116
Branches in Bitbucket should be merged back to the master when a sprint is completed.
T
117
It is common practice for a team to have more than one sprint underway at the same time.
F
118
Many of our teams faced the problem of excessive merge conflicts in their repositories as a result of too many people working on the same files at the same time.
T
119
All of our teams planned, carried out and recorded the results of thorough integration testing on their product before their presentations.
F
120
Most teams that split up into sub-teams (back-end and GUI, for example) faced integration issues right before their presentations usually due to poor communications between the sub-teams.
T
121
None of our teams had any difficulty using their git repositories.
F