SlideShare a Scribd company logo
1
Confidential
The minimum to become C++ developer
Roman Ivasyshyn
Lead CC++ Software Engineer
2
Confidential
Agenda
● Basic Syntax
● Classes
● Memory Management
● Containers and Algorithms
● Templates
● Threads
3
Confidential
Basic Syntax
1. Pragmas, compilation
2. Data types and variables
3. Flow control
4. Functions/Operators
5. I/O
6. Exceptions
4
Confidential
Pragmas, compilation
● #include
● #define, #undef
● #ifdef, #ifndef
● #if, #elif, #else, #endif
● #pragma once
5
Confidential
Data types and variables
type variable1_name, variable2_name, variable3_name;
Primary
Integer
Character
Boolean
Floating Point
Double Floating Point
Void
Wide Character
Derived
Function
Array
Pointer
Reference
User Defined
Class
Structure
Union
Enum
Typedef
Using
Modifiers (signed,
unsigned, long, short)
Storage class (static, extern,mutable, register)
6
Confidential
Flow control
● Loops (for, foreach, while, do-while)
● Decision making (if-else, switch)
● Jump statements (break, continue, goto, return)
7
Confidential
Functions/Operators
int main(int argc, char** argv)
{
std::cout << "Hello World!" << std::endl;
return 0;
}
Return type
Name Arguments
Body
Return statement
8
Confidential
Functions/Operators
9
Confidential
I/O
● Standard output (std::cin, std::cout, printf, scanf)
● Files (fopen, fwrite, fread, fclose…)
● Streams (std::fstream, std::stringstream)
10
Confidential
Exceptions
try
{
throw std::invalid_argument{"Error"};
}
catch (const std::invalid_argument& e) {
// Handle std::invalid_argument
}
catch (const std::exception& e) {
// Handle std::exception
}
catch (...) {
// Handle any
}
11
Confidential
Classes
1. Constructors/destructor
2. Members
3. Inheritance
4. Polymorphism
12
Confidential
Constructors/destructor
1. All constructor types
2. Initialization list
3. RAII
4. Namespace
5. Move
13
Confidential
Members
1. Access Specifiers (public, protected, private, friends)
2. Variables (static, mutable, const, constexpr)
3. Methods (this, static, const, overload, override, final)
14
Confidential
Inheritance
1. Modes (private, public, protected)
2. Multiple Inheritance
3. Virtual inheritance
4. Initialization of base classes
15
Confidential
Polymorphism
1. Virtual methods (override, final)
2. Pure virtual
3. Usage of virtual methods (constructor/destructor)
16
Confidential
Memory Management
● Stack: In stack, all the variables that are declared inside the
function and other information related to the function are
stored.
● Heap: Heap is unused memory and the part from where the
memory is allocated dynamically when the program runs.
17
Confidential
Memory Management
● auto_ptr
● std::shared_ptr (std::make_shared)
● std::weak_ptr
● std::unique_ptr (std::make_unique)
18
Confidential
Containers and Algorithms
● Sequence
○ array, vector, deque, forward_list, list
● Associative
○ set, map, multimap, multiset
● Unordered associative
○ unordered_set, unordered_map, unordered_multiset,
unordered_multimap
● Adaptors
○ stack, queue, priority_queue
19
Confidential
Containers and Algorithms
20
Confidential
Containers and Algorithms
1. Sorting Algorithms
2. Search algorithms
3. Non modifying algorithms
4. Modifying algorithms
5. Numeric algorithms
6. Minimum and Maximum operations.
21
Confidential
Templates
Templates are powerful features of C++ which allows us to
write generic programs.
● Function Templates
● Class Templates
❏ Type traits (basics)
❏ Specialization
22
Confidential
Threads
● std::thread/std::jthread
● Problems
○ race condition, deadlock
● Synchronization
○ mutex, semaphore, atomic, conditional variables,
future/promise
23
Confidential
Other
● Networking
● Libraries
○ boost, qt, opencv, etc.
● Patterns
● Tools
○ Git, CMake, IDE, etc.
24
Confidential
Q & A
25
Confidential
Thanks & Learn C++

More Related Content

Similar to GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer” (20)

PPTX
Python assignment help from professional programmers
Anderson Silva
 
PDF
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
Xiaozhe Wang
 
PDF
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Ovidiu Farauanu
 
PDF
Cs4hs2008 track a-programming
Rashi Agarwal
 
PDF
Dafunctor
Buganini Chiu
 
PDF
Module_1_Introduction-to-Problem-Solving.pdf
MaheshKini3
 
PDF
[Paper reading] Interleaving with Coroutines: A Practical Approach for Robust...
PingCAP
 
PPTX
Unit-1_GHD.pptxguguigihihihihihihoihihhi
40NehaPagariya
 
PPTX
Understanding eBPF in a Hurry!
Ray Jenkins
 
PDF
Advanced Arm Exploitation
Himanshu Khokhar Jaat
 
PDF
Python for web security - beginner
Sanjeev Kumar Jaiswal
 
PPT
chapter 5.ppt
ThedronBerhanu
 
PDF
Introduction to Parallelization ans performance optimization
CSUC - Consorci de Serveis Universitaris de Catalunya
 
PPTX
Introduction to Parallelization ans performance optimization
CSUC - Consorci de Serveis Universitaris de Catalunya
 
PDF
Static analysis for beginners
Antonio Costa aka Cooler_
 
PDF
C,s&s
sid6376
 
PPTX
Rohan Sharma MOOC Course Report (1).pptx
sm1772
 
PDF
Py tables
Ali Hallaji
 
PDF
PyTables
Ali Hallaji
 
PDF
Large Data Analyze With PyTables
Innfinision Cloud and BigData Solutions
 
Python assignment help from professional programmers
Anderson Silva
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
Xiaozhe Wang
 
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Ovidiu Farauanu
 
Cs4hs2008 track a-programming
Rashi Agarwal
 
Dafunctor
Buganini Chiu
 
Module_1_Introduction-to-Problem-Solving.pdf
MaheshKini3
 
[Paper reading] Interleaving with Coroutines: A Practical Approach for Robust...
PingCAP
 
Unit-1_GHD.pptxguguigihihihihihihoihihhi
40NehaPagariya
 
Understanding eBPF in a Hurry!
Ray Jenkins
 
Advanced Arm Exploitation
Himanshu Khokhar Jaat
 
Python for web security - beginner
Sanjeev Kumar Jaiswal
 
chapter 5.ppt
ThedronBerhanu
 
Introduction to Parallelization ans performance optimization
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Introduction to Parallelization ans performance optimization
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Static analysis for beginners
Antonio Costa aka Cooler_
 
C,s&s
sid6376
 
Rohan Sharma MOOC Course Report (1).pptx
sm1772
 
Py tables
Ali Hallaji
 
PyTables
Ali Hallaji
 
Large Data Analyze With PyTables
Innfinision Cloud and BigData Solutions
 

More from GlobalLogic Ukraine (20)

PDF
GlobalLogic JavaScript Community Webinar #21 “Інтерв’ю без заспокійливих”
GlobalLogic Ukraine
 
PPTX
Deadlocks in SQL - Turning Fear Into Understanding (by Sergii Stets)
GlobalLogic Ukraine
 
PDF
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
PDF
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
GlobalLogic Ukraine
 
PDF
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
GlobalLogic Ukraine
 
PDF
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic Ukraine
 
PPTX
Штучний інтелект як допомога в навчанні, а не замінник.pptx
GlobalLogic Ukraine
 
PPTX
Задачі AI-розробника як застосовується штучний інтелект.pptx
GlobalLogic Ukraine
 
PPTX
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
GlobalLogic Ukraine
 
PDF
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Ukraine
 
PDF
JavaScript Community Webinar #14 "Why Is Git Rebase?"
GlobalLogic Ukraine
 
PDF
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic Ukraine
 
PPTX
Страх і сила помилок - IT Inside від GlobalLogic Education
GlobalLogic Ukraine
 
PDF
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic Ukraine
 
PDF
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic Ukraine
 
PDF
“How to Secure Your Applications With a Keycloak?
GlobalLogic Ukraine
 
PDF
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Ukraine
 
PPTX
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Ukraine
 
PDF
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
GlobalLogic Ukraine
 
PPTX
GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Ukraine
 
GlobalLogic JavaScript Community Webinar #21 “Інтерв’ю без заспокійливих”
GlobalLogic Ukraine
 
Deadlocks in SQL - Turning Fear Into Understanding (by Sergii Stets)
GlobalLogic Ukraine
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
GlobalLogic Ukraine
 
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
GlobalLogic Ukraine
 
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic Ukraine
 
Штучний інтелект як допомога в навчанні, а не замінник.pptx
GlobalLogic Ukraine
 
Задачі AI-розробника як застосовується штучний інтелект.pptx
GlobalLogic Ukraine
 
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
GlobalLogic Ukraine
 
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Ukraine
 
JavaScript Community Webinar #14 "Why Is Git Rebase?"
GlobalLogic Ukraine
 
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic Ukraine
 
Страх і сила помилок - IT Inside від GlobalLogic Education
GlobalLogic Ukraine
 
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic Ukraine
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic Ukraine
 
“How to Secure Your Applications With a Keycloak?
GlobalLogic Ukraine
 
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Ukraine
 
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Ukraine
 
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
GlobalLogic Ukraine
 
GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Ukraine
 
Ad

Recently uploaded (20)

PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Design Thinking basics for Engineers.pdf
CMR University
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Ad

GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”