
Advanced C++ Concepts
Presentation
•
Computers
•
University
•
Practice Problem
•
Medium
Dr. Moriarty
Used 3+ times
FREE Resource
6 Slides • 14 Questions
1
Pass by value vs reference
In C++, pass by value means a function receives a copy of the argument, so changes made to the parameter do not affect the original variable.
Pass by reference allows the function to work directly with the original variable by using its memory address, so changes made inside the function are reflected in the original variable outside the function.
2
Multiple Choice
What will this code print?
After modifyValue: 20, After modifyReference: 30
After modifyValue: 10, After modifyReference: 30
After modifyValue: 20, After modifyReference: 10
After modifyValue: 10, After modifyReference: 10
3
Multiple Choice
What will this code print?
After doubleValue: 10, After doubleReference: 20
After doubleValue: 5, After doubleReference: 10
After doubleValue: 5, After doubleReference: 5
After doubleValue: 10, After doubleReference: 10
4
Static Variables
In C++, a static variable inside a function retains its value between function calls, unlike a regular local variable that is re-initialized each time the function is called. This allows the variable to maintain state across multiple invocations of the function, effectively acting like a persistent, function-level global variable. Static variables are initialized only once and keep their value throughout the program's lifetime.
5
Multiple Choice
What will this code print?
Counter: 1, Counter: 1, Counter: 1
Counter: 0, Counter: 1, Counter: 2
Counter: 1, Counter: 2, Counter: 3
Counter: 1, Counter: 2, Counter: 2
6
Multiple Choice
What will this code print?
Num: 5, Num: 5, Num: 5, Num: 5
Num: 5, Num: 10, Num: 15, Num: 20
Num: 10, Num: 15, Num: 20, Num: 25
Num: 10, Num: 20, Num: 30, Num: 40
7
Default Parameters
In C++, default parameters allow you to specify a default value for a function parameter so that if the argument is omitted during a function call, the default value is used. This makes functions more flexible by allowing them to be called with fewer arguments. Default parameters must be defined from right to left in the function signature to avoid ambiguity.
8
Multiple Choice
What will this code print?
Hello, Alice!
Hello, Alice!
Hello, Alice!
Hello, Guest!
Hello, Guest!
Hello, Guest!
The code will not compile due to missing parameters.
9
Multiple Choice
What will this code print?
a: 5, b: 10, c: 20
a: 7, b: 15, c: 20
a: 3, b: 8, c: 20
a: 5, b: 10, c: 20
a: 7, b: 15, c: 20
a: 3, b: 8, c: 12
a: 5, b: 10, c: 20
a: 7, b: 10, c: 20
a: 3, b: 8, c: 20
The code will not compile due to incorrect default parameter usage.
10
Template Functions
In C++, template functions allow you to write a single function that can work with different data types, making code more reusable and flexible.
By defining a function template with a type parameter (e.g., template<typename T>), the compiler can generate a version of the function for each specific type used during a function call. This feature is particularly useful for creating generic algorithms that work with any data type.
11
Multiple Choice
What will this code print?
5 5
3.14 3.14
Hello Hello
5 5
3.14 3.14
Compilation error due to using a string literal
5 5
3.14 3.14
HelloHello
The code will not compile due to incorrect template usage.
12
Multiple Choice
Which of the following statements about template functions in C++ is true?
Template functions must be defined for each specific data type before they are used.
Template functions can only accept one type parameter.
Template functions allow a single function definition to work with multiple data types.
Template functions cannot be used with built-in data types like int or double.
13
Multiple Choice
Extra Credit: Who is this Zelda character?
Tingle
Gannon
Beedle
Sephiroth
14
Inline Functions
In C++, inline functions are functions that suggest to the compiler to replace the function call with the actual code of the function to reduce the overhead of function calls.
This can improve performance for small, frequently called functions, but the compiler may ignore the inline suggestion for complex functions.
Declaring a function as inline does not guarantee that it will be inlined, as this decision is ultimately up to the compiler.
15
Multiple Choice
What will this print?
Square of 4 is: 4
Square of 5 is: 5
Square of 4 is: 16
Square of 5 is: 25
Square of 4 is: 16
Square of 5 is: 20
The code will not compile due to inline function usage.
16
Multiple Choice
Which of the following statements about inline functions in C++ is true?
Inline functions are guaranteed to be inlined by the compiler.
Inline functions help reduce the overhead of function calls by suggesting the compiler to replace the function call with its body.
Inline functions can only be defined within the class declaration.
Inline functions cannot include loops or complex logic.
17
Constants in C++
in C++ const correctness ensures that variables, function parameters, and return types that should not be modified are declared as const. This helps prevent unintended changes to data, making code safer and easier to maintain. Using const can also improve code readability by clearly indicating which values are intended to remain constant.
18
Multiple Choice
what will this code print?
5
6
nothing
compile error
19
Multiple Choice
Which of the following statements about const correctness in C++ is true?
A const parameter passed by reference allows the function to modify the original argument.
Declaring a function parameter as const ensures that the function cannot modify the parameter within its body.
Using const with a function return type guarantees that the function's return value cannot be modified by the caller.
A const variable can be modified after its initial declaration as long as it is within the same function.
20
Multiple Choice
Extra Credit: What Mega Man boss is this?
Drill Man
Metal Man
Crash Man
Waluigi
Pass by value vs reference
In C++, pass by value means a function receives a copy of the argument, so changes made to the parameter do not affect the original variable.
Pass by reference allows the function to work directly with the original variable by using its memory address, so changes made inside the function are reflected in the original variable outside the function.
Show answer
Auto Play
Slide 1 / 20
SLIDE
Similar Resources on Wayground
12 questions
เทคโนโลยีธุรกิจดิจิทัล
Presentation
•
University
14 questions
Professional Skills
Presentation
•
Professional Development
16 questions
Problem-solving
Presentation
•
University
16 questions
Programación I Diagramas de Flujo 2
Presentation
•
University
12 questions
Requirements Engineering
Presentation
•
University
18 questions
An introduction to ReactJS
Presentation
•
University
14 questions
บทเรียนที่ 1.4 หน่วยวัดปริมาณข้อมูล
Presentation
•
Professional Development
15 questions
Intro to Adjective Clauses
Presentation
•
University
Popular Resources on Wayground
16 questions
Grade 3 Simulation Assessment 2
Quiz
•
3rd Grade
19 questions
HCS Grade 5 Simulation Assessment_1 2526sy
Quiz
•
5th Grade
10 questions
Cinco de Mayo Trivia Questions
Interactive video
•
3rd - 5th Grade
17 questions
HCS Grade 4 Simulation Assessment_2 2526sy
Quiz
•
4th Grade
24 questions
HCS Grade 5 Simulation Assessment_2 2526sy
Quiz
•
5th Grade
13 questions
Cinco de mayo
Interactive video
•
6th - 8th Grade
20 questions
Math Review
Quiz
•
3rd Grade
30 questions
GVMS House Trivia 2026
Quiz
•
6th - 8th Grade
Discover more resources for Computers
55 questions
Post Malone Addtion (Tres)
Quiz
•
12th Grade - University
20 questions
Disney Trivia
Quiz
•
University
50 questions
AP Biology Exam Review 2017
Quiz
•
11th Grade - University
24 questions
5th Grade Math EOG Review
Quiz
•
KG - University
12 questions
Star Wars Trivia - Easy
Quiz
•
KG - University
215 questions
8th Physical Science GA Milestones Review
Quiz
•
KG - University
40 questions
Famous Logos
Quiz
•
7th Grade - University
14 questions
(5-3) 710 Mean, Median, Mode & Range Quick Check
Quiz
•
6th Grade - University