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
Q

A vector collection from the STL cannot use [ ] to access members.

A

F

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

The vector member function, .at(), can be used on the LHS of an assignment statement.

A

T

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

The string member function, .at(), will throw an exception of an attempt is made to access
a character beyond the size of the string.

A

T

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

The STL string class is immutable.

A

F

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

Programs that have implementation code in the header, or *.h, file will not compile.

A

F

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

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.

A

T

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

The #pragma once pre-compiler directive can be used to prevent the re-declaration of a
header file’s contents.

A

T

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

Only one class can be implemented at a time in a *.cpp file.

A

F

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

Only exceptions that extend std::Exception can be thrown.

A

F

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

Constructors should always be declared as const.

A

F

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

Passing by constant reference is usually the best way to pass an argument into a function.

A

T

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

The initialization section in a constructor’s implementation can be used to carry out error
checking on the arguments supplied to the constructor.

A

F

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

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.

A

T

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

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.

A

T

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

Ambiguities can result from using the “using” keyword for too many namespaces.

A

T

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

A default constructor is invoked with a set of empty brackets, ( ).

A

F

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

Variables cannot be declared outside a function or class.

A

F

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

It is bad practice to return a reference to a variable that is local to the function returning it.

A

T

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

Local variables cannot be declared as static.

A

F

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

Default arguments must be assigned in a function prototype, or declaration, only.

A

T

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

C++ does not allow the definition of lambda functions.

A

F

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

Inline functions must be implemented in the header file.

A

T

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

You cannot change the precedence of an operator by overloading it.

A

T

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

Assignment operators must be overloaded as non-member functions.

A

F

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

Conversion constructors can allow mixed type expressions to work with overloaded binary
operators.

49
Q

Conversion constructors can allow mixed type expressions to work with overloaded binary
operators.

50
Q

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.

51
Q

To differentiate between pre- and post-increment operator overloadings, the post-
increment version must have an un-used int type parameter.

52
Q

An overloaded pre-increment function will run faster than the equivalent overloaded post-
increment version.

53
Q

Coding both a conversion constructor and an overloaded conversion operator for the same
type can lead to an ambiguity.

54
Q

Member functions declared as “explicit” cannot be automatically invoked to help evaluate
mixed type expressions.

55
Q

Function objects can be created by overloading the [ ] brackets.

56
Q

The amount of memory used by your program on the heap, or “free store”, is fixed at
compilation time.

57
Q

Program instructions are stored on the heap.

58
Q

The new operator provides a pointer to a structure stored on the heap.

59
Q

A function can return a stable pointer to a local variable provided that variable is stored on
the heap.

60
Q

new or new[] will return a nullptr if heap memory cannot be allocated.

61
Q

The delete operator can also be used to delete an array allocated on the heap.

62
Q

A “memory leak” is a result of not properly deleting a heap allocated structure.

63
Q

Memory leaks tend to manifest more often for long running programs.

64
Q

The delete operator will automatically set a pointer to nullptr after deletion.

65
Q

Deleting an uninitialized pointer will not cause a problem because this pointer will automatically be nullptr after declaration.

66
Q

Passing a child class instance by value into a function using a parent type parameter will
result in object slicing.

67
Q

A dynamic_cast<type> throws an exception if a pointer cannot be cast to the specified
type.</type>

68
Q

Copy constructors and overloaded assignment operator implementations are also
responsible for preventing the aliasing of object contents.

69
Q

The use of private as a base class access modifier will not change the access of members
inherited from the base class.

70
Q

C++ does not allow for multiple inheritance.

71
Q

Polymorphism must be enabled by declaring the parent class version of the function of
interest to be virtual.

72
Q

You can overload an inherited function by using the same function name and a different
parameter list in the child class.

73
Q

Static binding is determined by the pointer type at compilation.

74
Q

Pure virtual function declarations must be implemented by the class that declares them.

75
Q

Use of the heap in any class in a hierarchy requires a virtual destructor be declared in the
base class of that hierarchy.

76
Q

In a hierarchy that uses the heap, a child class’ copy constructor needs to invoke the
parent class’ copy constructor.

77
Q

A virtual function that overrides a parent class version of itself can also change the default
arguments used by the parent class version.

78
Q

Template declarations are able to restrict possible types supplied to the template in code.

79
Q

Templated functions are typed and built with that type during compilation in order to
minimize execution times.

80
Q

Templates can only be written to accept a single type.

81
Q

Smart pointers implement “nearly complete” automatic garbage collection.

82
Q

It is possible to have many unique_ptr<> pointers pointing to the same object on the heap.

83
Q

The operators, * and ->, can still be used with smart pointers from the STL.

84
Q

The function make_unique<>() does not require the use of the new operator to put the
object being pointed to on the heap.

85
Q

You still have to invoke the delete operator to start the destruction process of a smart
pointer.

86
Q

The “CLI” in C++/CLI stands for “Common Language Interpreter”.

87
Q

The “CLI” in C++/CLI stands for “Common Language Interpreter”.

A

Common language infrastructure

88
Q

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.

89
Q

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.

A

F - DLL file

90
Q

Managed code in C++/CLI requires the use of handles and gcnew instead of pointers and
new.

91
Q

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.

92
Q

An agile team expects to be coding, designing and testing all at the same time.

93
Q

System architecture details are described in the RAD.

94
Q

Functional requirements must describe “how well” a feature must be implemented by the
system.

95
Q

A git repository only stores the newest version of any file. Older versions are deleted.

96
Q

Any use of a git repository requires an internet connection.

97
Q

The SDD cannot change once it has been written.

98
Q

It is good practice to provide a comment for every git commit to provide the reason for the
commit.

99
Q

A git repository relies on the use of a centralized server to store all files.

100
Q

The creation of a branch in a git repository allows you to choose a subset of the available
files to work on.

101
Q

A UML Statechart diagram is used to display the possible states of an object used for
polymorphism.

102
Q

A UML Sequence diagram is used to display the dynamic interactions of objects along a
timeline.

103
Q

A Sequence diagram must be initiated by an actor (typically a “human”).

104
Q

A UML Class diagram presents a static view of classes in a system, their members and the
inheritance structure.

105
Q

Design goals are extracted from Non-Functional requirements.

106
Q

The goal of a good code structure design is to have strong coupling between systems and
weak cohesion within each system.

107
Q

If issue progress is not tracked using changing time estimates then the burndown chart
shown by Jira will be meaningless.

108
Q

User stories are always translated into Jira as a single issue.

109
Q

Task type issues that are not completed in a sprint are deleted and then re-created for the
next sprint.

110
Q

In order for an issue to be created it must be assigned to a sprint.

111
Q

Issue priorities must be assigned once activity is underway for that issue.

112
Q

Gantt charts are used by Jira for sprint planning purposes.

113
Q

A sprint should always result in a demonstrable deliverable.

114
Q

A SCRUM meeting is the same as what students call a “Codeathon”.

115
Q

It is possible to create a link from an issue in Jira to a file in Bitbucket.

116
Q

Branches in Bitbucket should be merged back to the master when a sprint is completed.

117
Q

It is common practice for a team to have more than one sprint underway at the same time.

118
Q

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.

119
Q

All of our teams planned, carried out and recorded the results of thorough integration
testing on their product before their presentations.

120
Q

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.

121
Q

None of our teams had any difficulty using their git repositories.