Back to Basics: Object-Oriented Programming in C++ - Amir Kirsh - CppCon 2022

  Рет қаралды 12,519

CppCon

CppCon

Күн бұрын

cppcon.org/
---
Back to Basics - Object-Oriented Programming in Cpp - Amir Kirsh - CppCon 2022
github.com/CppCon/CppCon2022
C++ is not just an Object-Oriented Programming Language, it supports many paradigms. But in this session we would focus on the object oriented aspects of C++, from encapsulation to inheritance and polymorphism.
The session aims to cover the basic syntax together with best practices, tips, pitfalls to avoid and more. We would discuss design considerations, the advantages and disadvantages of different approaches and other alternatives that the language provides. Some relevant design patterns may also pop-by.
This session is part of the Back to Basics track and is aimed for novice and intermediate C++ developers (up to about 2-3 years of C++ coding experience). More experienced developers are of course welcomed to join and enrich the discussion with their knowledge and experience.
---
Amir Kirsh
C++ lecturer at the Academic College of Tel-Aviv-Yaffo and Dev Advocate at Incredibuild. Previously the Chief Programmer at Comverse. Co-organizer of Core C++ conference and a member of the Israeli ISO C++ NB. Currently a visiting researcher at Stony Brook University, New-York.
---
Videos Filmed & Edited by Bash Films: www.BashFilms.com
KZbin Channel Managed by Digital Medium Ltd events.digital-medium.co.uk
#cppcon #programming #cppprogramming

Пікірлер: 18
@alidanish6303
@alidanish6303 Жыл бұрын
Marvelous job done by Amir, In inheritance he is explaining a subtle concept of keeping OO performant, especially with state pattern. I am already thanking him for real thought behind state pattern.
@Nikage23
@Nikage23 6 ай бұрын
For quite a long time I thought of a state pattern as something that is quite verbose and to be used in "complex" frameworks and/or libraries whatever. But now it makes so much more sense to me to use it my daily code.
@Nikage23
@Nikage23 6 ай бұрын
One of the best OO talks/resources I've ever seen so far. Simple yet powerful in some sense. Absolute gem.
@rinket7779
@rinket7779 5 ай бұрын
Really? I'm half way in and it's nothing to do with Oop, just general cpp knowledge about construction and destruction.
@TheJackal917
@TheJackal917 Жыл бұрын
Is this for begginers or uberadvanced stuff for no less than phds?
@zeez7777
@zeez7777 Ай бұрын
24:39 Why would i want to lock a mutex in a method that is const? Wouldn't that be a read only operation by default which does not need synchronization?
@zxuiji
@zxuiji Жыл бұрын
37:00, bad example as all squares are rectangles but not all rectangles are squares which means square would inherit from rectangle
@zxuiji
@zxuiji Жыл бұрын
12:00, Wouldn't it better if the compiler just assumes initialisation to 0 is fine unless it finds a matching constructor for what is presented to it, for instance: class X { char const* m_say; public: X( char const*say ) { m_say = say; } char const* talk() { return m_say; } }; ... X a = X("Hello world!"), b = X(); puts( a.talk() ); puts( b.talk() ? b.talk() : "(null)" ); Would produce: Hello world! (null) While this: class X { char const* m_say; public: X() { m_say = "Goodbye :)"; } X( char const* say ) { m_say = say; } char const* talk() { return m_say; } }; ... X a = X("Hello world!"), b = X(); puts( a.talk() ); puts( b.talk() ? b.talk() : "(null)" ); Would produce: Hello world! Goodbye :)
@zxuiji
@zxuiji Жыл бұрын
54:55, Alternative more reliable solution: class Pet { ... Pet( PetType &type ) { ... } operator= ( PetType &type ) { ... } ... } If they make the mistake of using the pet type as a pet the managing class should just accept it and construct itself with empty data or override an existing type
@mertsezqin19
@mertsezqin19 Жыл бұрын
Excellent video.
@eddyecko94
@eddyecko94 Жыл бұрын
I’m I able to access these slides? He has a reference concerning “padding” at 7:20 which I’ll like to read more about
@amirkirsh8556
@amirkirsh8556 Жыл бұрын
Here it is: docs.google.com/presentation/d/1t7dhyXHfFfNEEiUSC6rhznyKXkThcLQhlQJdv57M7mI/edit?usp=sharing
@flocela
@flocela 8 ай бұрын
That was a damn good talk.
@zxuiji
@zxuiji Жыл бұрын
32:25, if you're bringing culture into it then in japan cats would go nya, not meow
@amirkirsh8556
@amirkirsh8556 Жыл бұрын
Thank you, noted
@MalcolmParsons
@MalcolmParsons Жыл бұрын
No mention of class invariants. Does not mention that members should be public if there are no invariants. Has a Point class with private members, even though there are no invariants.
@kevinzebb
@kevinzebb Жыл бұрын
Guy speaks too fast, that thick accent doesn’t help either.
@nin3se
@nin3se Жыл бұрын
I had no problems listening to him at x1.5 speed
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 7 МЛН
1 класс vs 11 класс (неаккуратность)
01:00
БЕРТ
Рет қаралды 4,2 МЛН
Did you find it?! 🤔✨✍️ #funnyart
00:11
Artistomg
Рет қаралды 121 МЛН
Тяжелые будни жены
00:46
К-Media
Рет қаралды 5 МЛН
Intro to Object Oriented Programming - Crash Course
30:18
freeCodeCamp.org
Рет қаралды 909 М.
Transforming Water Data Management with WATERVERSE
2:46
Water Europe
Рет қаралды 5
Object-Oriented Programming is Garbage: 3800 SLOC example
52:48
Brian Will
Рет қаралды 228 М.
01 - Cpp2 and cppfront - Beginners Guide to SDL2 in Cpp2 / cppfront
33:11
Карточка Зарядка 📱 ( @ArshSoni )
0:23
EpicShortsRussia
Рет қаралды 197 М.
Nokia 3310 versus Red Hot Ball
0:37
PressTube
Рет қаралды 3,7 МЛН
😱НОУТБУК СОСЕДКИ😱
0:30
OMG DEN
Рет қаралды 2,4 МЛН
📱 SAMSUNG, ЧТО С ЛИЦОМ? 🤡
0:46
Яблочный Маньяк
Рет қаралды 1,7 МЛН
Samsung or iPhone
0:19
rishton vines😇
Рет қаралды 8 МЛН
iPhone 15 Pro vs Samsung s24🤣 #shorts
0:10
Tech Tonics
Рет қаралды 9 МЛН
МОЖНО ЛИ заряжать AirPods в чехле 🧐😱🧐 #airpods #applewatch #dyson
0:22
Apple_calls РЕПЛИКА №1 В РФ
Рет қаралды 19 М.