Programare în C / C++
Începutul
https://www.youtube.com/watch?v=kRuNoXFSeBU - The Art Of Programming
https://www.youtube.com/watch?v=AOGxYOtgHwE - Why Tutorials DON’T WORK (And What To Do Instead)
https://www.youtube.com/watch?v=EJ3ujin8Nig - Should you learn C++ in 2023?
https://faultlore.com/blah/c-isnt-a-language/ - C Isn't A Programming Language Anymore
Ce am de învățat?
https://roadmap.sh/cpp - C++ Developer Roadmap (roadmap.sh)
Cu ce?
https://www.youtube.com/watch?v=U3aXWizDbQ4 - C in 100 Seconds
https://www.youtube.com/watch?v=MNeX4EGtR5Y - C++ in 100 seconds
https://www.youtube.com/watch?v=Wq-XEuc7tJA - C Explained (Language-Edition)
https://www.youtube.com/watch?v=0x8m9za4sH8 - C vs C++
Prezentarea și istoricul limbajelor, resurse video
https://www.youtube.com/watch?v=v8uLDu7LAEc - Brian Kernighan - Building C at Bell Labs
https://www.youtube.com/watch?v=CtAysS8AlsE - Brian Kernighan - C and C++ at Bell Labs
https://www.youtube.com/watch?v=9fJ5rZhw4Fc - Inventor C++ Bjarne Stroustrup (high resolution)
https://www.youtube.com/watch?v=iz5Qx18H6lg - CppCon 2019: Jason Turner “The Best Parts of C++"
https://www.youtube.com/watch?v=6uqgiFhW0Fs - Free Complete Course: You need to learn this programming language to be a senior developer!
Bjarne Stroustrup
https://www.youtube.com/watch?v=fX2W3nNjJIo - CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”
https://www.youtube.com/watch?v=_wzc7a3McOs - CppCon 2016: Bjarne Stroustrup "The Evolution of C++ Past, Present and Future"
https://www.youtube.com/watch?v=JBjjnqG0BP8 - Bjarne Stroustrup: Why I Created C++ | Big Think
https://www.youtube.com/watch?v=BzphqTn1wPc - Bjarne Stroustrup: Advice for C++ Developers
https://www.youtube.com/watch?v=86xWVb4XIyE - Bjarne Stroustrup - The Essence of C++
https://www.youtube.com/watch?v=I8UvQKvOSSw - Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
https://www.youtube.com/watch?v=15QF2q66NhU - C++20: Reaching for the Aims of C++ - Bjarne Stroustrup - CppCon 2021
Probleme și tutoriale de programare (site-uri românești)
Probleme de programare
https://www.youtube.com/watch?v=n2B-FClr5rA - 5 Coding Projects (from beginner to advanced)
Probleme de programare gamificate (nu doar C/C++)
Concursuri de programare
Jocuri de învățat programare
Cunoștințe fundamentale
Cunostinte fundamentale de programare — Cunostinte fundamentale de programare. Curs produs de TutorialsPoint.com
Cunostinte fundamentale despre calculatoare — Cunostinte fundamentale despre calculatoare. Curs produs de TutorialsPoint.com
Organizarea logică a calculatoarelor — Organizarea logică a calculatoarelor. Curs produs de TutorialsPoint.com
Tutoriale text de C
C Programming Language (Geeks for geeks) — C Programming Language (Geeks for geeks)
Tutorial text de C — Tutorial text de C. Produs de TutorialsPoint.com
Vocabularul limbajului C - libraria standard — Vocabularul limbajului C - libraria standard. Produs de TutorialsPoint.com
https://www.mygreatlearning.com/academy/learn-for-free/courses/c-for-beginners1
https://www.udemy.com/course/c-programming-2019-master-the-basics/
https://www.udemy.com/course/get-started-with-programming-in-c-full-course/
https://www.udemy.com/course/c-programming-bootcamp-from-scratch/
Tutoriale text de C++
https://www.sololearn.com/learning/1051 - Curs de C++ produs de SoloLearn
C++ Programming Language (Geeks for geeks) — C++ Programming Language (Geeks for geeks)
Introducere in C++ — Introducere in C++. Curs produs de Microsoft.
LearnCpp.com — LearnCpp.com
learn-cpp.org — learn-cpp.org
Tutorial de C++ — Tutorial de C++. Produs de TutorialsPoint.com
Tutorial text de C++ — Tutorial text de C++. Produs de Learn C++.
https://learn.saylor.org/course/view.php?id=65 - CS107: C++ Programming
Tutoriale video de C
https://www.youtube.com/watch?v=j-_s8f5K30I - Learn C Programming with Dr. Chuck. acelasi curs pe https://www.coursera.org/specializations/c-programming-for-everybody - C Programming for Everybody Specialization (Coursera)
https://www.youtube.com/watch?v=KJgsSFOSQv0 - C Programming Tutorial for Beginners
https://www.youtube.com/watch?v=87SH2Cn0s9A - C Programming Full Course for free
Tutoriale video de C++
Tutorial video de C++ — Tutorial video de C++. Produs de ProgrammingKnowledge.
Tutorial video de C++ — Tutorial video de C++. Produs de SoloLearn. Disponibil si ca aplicatie pentru telefoane/tablete.
Tutorial video de C++ — Tutorial video de C++. Produs de TheNewBoston.
https://www.youtube.com/watch?v=_Ys-zu0CvDI - Software Development Course Day - 3 | Complete C++ Programming | Software Developer | Simplilearn
https://www.youtube.com/watch?v=vLnPwxZdW4Y - C++ Tutorial for Beginners - Full Course
https://www.youtube.com/watch?v=_bYFu9mBnr4 - C++ Programming All-in-One Tutorial Series (10 HOURS!)
https://www.youtube.com/watch?v=-TkoO8Z07hI - C++ Full Course for free ⚡️
https://www.youtube.com/watch?v=ZzaPdXTrSb8 - C++ Tutorial for Beginners - Learn C++ in 1 Hour
Google C++ style guide
https://google.github.io/styleguide/cppguide.html - Google C++ Style Guide
Manual de C++ pe cpluplus.com
Limbajul C++. Lectia 1.1 — Limbajul C++. Lectia 1.1 - codul ASCII
Limbajul C++. Lectia 1.2 — Limbajul C++. Lectia 1.2 - Operatori booleeni
Limbajul C++. Lectia 1.3 — Limbajul C++. Lectia 1.3 - Baze de numeratie
Limbajul C++. Lectia 2.1 — Limbajul C++. Lectia 2.1 - Compilatoare. Programe de consola
Limbajul C++. Lectia 2.2 — Limbajul C++. Lectia 2.2 - Mediul Code::Blocks
Limbajul C++. Lectia 2.3 — Limbajul C++. Lectia 2.3 - Mediul Dev-C++
Limbajul C++. Lectia 2.4 — Limbajul C++. Lectia 2.4 - Mediul Visual Studio Express
Limbajul C++. Lectia 3.1 — Limbajul C++. Lectia 3.1 - Structura unui program. Spatiul de nume std.
Limbajul C++. Lectia 3.2 — Limbajul C++. Lectia 3.2 - Variabile si tipuri. Identificatori. Tipuri de date fundamentale. Declararea variabilelor. Initializarea variabilelor. Deducerea tipului - auto si decltype. Introducere in stringuri.
Limbajul C++. Lectia 3.3 — Limbajul C++. Lectia 3.3 - Constante. Literali. Expresii constante tipizate. Definitii preprocesor.
Limbajul C++. Lectia 3.4 — Limbajul C++. Lectia 3.4 - Operatori. Operatori de asignare. Operatori aritmetici. Operatori compusi. Operatori de incrementare si decrementare. Operatori relationali si de comparatie. Operatori logici. Operatorul conditional. Operatorul virgula. Operatori pe biti. Operatori de conversie explicita. Alti operatori. Precedenta operatorilor.
Limbajul C++. Lectia 3.5 — Limbajul C++. Lectia 3.5 - Operatori de intrare / iesire. cout. cin. Utilizarea cin cu stringuri. Stringstream.
Limbajul C++. Lectia 4.1 — Limbajul C++. Lectia 4.1 - Structuri fundamentale si controlul executiei. Decizia. Iteratia. Instructiuni de salt. Decizia multipla.
Limbajul C++. Lectia 4.2 — Limbajul C++. Lectia 4.2 - Functii. Functii fara tip. Tipul void. Valoarea returnata de main. Transmiterea parametrilor prin valoare si prin referinta. Consideratii de eficienta. Referinte constante. Functii inline. Valori implicite in parametri. Declararea functiilor. Recursivitate.
Limbajul C++. Lectia 4.3 — Limbajul C++. Lectia 4.3 - Supraincarcarea functiilor. Template-uri de functii. Parametri non-tip pentru template-uri.
Limbajul C++. Lectia 4.4 — Limbajul C++. Lectia 4.4 - Vizibilitatea numelor. Domenii de vizibilitate. Spatii de nume. Cuvantul cheie using. Spatiul de nume std. Clase de stocare.
Limbajul C++. Lectia 5.1 — Limbajul C++. Lectia 5.1 - Matrici. Initializarea matricilor. Accesarea valorilor matricilor. Matrici multidimensionale. Matrici folosite ca parametri. Utilizarea librariei array.
Limbajul C++. Lectia 5.2 — Limbajul C++. Lectia 5.2 - Siruri de caractere. Initializarea sirurilor de caractere terminate cu null. Stringuri si siruri de caractere terminate cu null.
Limbajul C++. Lectia 5.3 — Limbajul C++. Lectia 5.3 - Pointeri. Opreatorul de referire (&). Operatorul de dereferire (*). Declararea pointerilor. Pointeri si matrici. Initializarea pointerilor. Aritmetica cu pointeri. Pointeri si constante. Pointeri si literale de tip string. Pointeri catre pointeri. Pointeri void. Pointeri invalizi si pointeri nuli. Pointeri la functii.
Limbajul C++. Lectia 5.4 — Limbajul C++. Lectia 5.4 - Alocarea dinamica a memoriei. Operatorii new si new[ ]. Operatorii delete si delete[ ]. Alocarea dinamica a memoriei in C.
Limbajul C++. Lectia 5.5 — Limbajul C++. Lectia 5.5 - Structuri de date. Pointeri la structuri. Structuri imbricate.
Limbajul C++. Lectia 5.6 — Limbajul C++. Lectia 5.6 - Alte tipuri de date. Alias-uri (typedef si using). Uniuni. Uniuni anonime. Tipuri enumerate. Tipuri enumerate cu clasa enum.
Limbajul C++. Lectia 6.1 — Limbajul C++. Lectia 6.1 - Clase. Constructori. Supraincarcarea constructorilor. Initializare uniforma. Initializarea membrilor in constructori. pointeri la clase. Clase definite cu struct si union.
Limbajul C++. Lectia 6.2 — Limbajul C++. Lectia 6.2 - Supraincarcarea operatorilor. Cuvantul cheie this. Membri statici. Functii membre const. Template-uri de clase. Specializarea template-urilor.
Limbajul C++. Lectia 6.3 — Limbajul C++. Lectia 6.3 - Membri speciali ai claselor. Constructorul implicit. Destructorul. Construirea prin copiere. Asignarea prin copiere. Construirea si asignarea prin mutare. Membri impliciti.
Limbajul C++. Lectia 6.4 — Limbajul C++. Lectia 6.4 - Friendship si mostenire. Functii friend. Clase friend. Mostenirea intre clase. Ce se mosteneste din clasa de baza. Mostenire multipla.
Limbajul C++. Lectia 6.5 — Limbajul C++. Lectia 6.5 - Polimorfism. Pointeri la clasa de baza. Membri virtuali. Clase de baza abstracte.
Resurse de C++
30 Seconds of C++ (STL in C++) — 30 Seconds of C++ (STL in C++)
A collection of resources on modern C++ — A collection of resources on modern C++
C/C++ performance optimization resources — C/C++ performance optimization resources
C++11/14/17/20 On the Fly — C++11/14/17/20 On the Fly
C++ reference — C++ reference
Collaborative Collection of C++ Best Practices — Collaborative Collection of C++ Best Practices
ISO C++ — ISO C++
MODERNES C++ — MODERNES C++
The C++ Core Guidelines — The C++ Core Guidelines
Resurse bibliografice
Open Data Structures: An Introduction, in Java and C++ (Pat Morin)
Data Structures and Algorithm Analysis in C++, 3rd Edition (Clifford A. Shaffer)
How to Make a Computer Operating System using C/C++ (Samy Pesse)
Parallel Programming with Microsoft Visual C++ (Colin Campbell)
Financial Numerical Recipes in C++: Applications in Finance (Bernt Arne Ødegaard)
3D Math Primer for Graphics and Game Development (Fletcher Dunn)
Introduction to Design Patterns in C++ with Qt 4 (Alan Ezust)
C++ GUI Programming with Qt 4, 2nd Edition (Jasmin Blanchette)
Programming Fundamentals: A Structured Approach Using C++ (Kenneth Leroy Busbee)
How To Think Like A Computer Scientist: C++ Version (Allen B. Downey)
Financial Applications using Excel Add-in in C/C++ (Steve Dalton)
Interfacing with C++: Programming Real-World Applications (Jayantha Katupitiya, Kim Bentley)
Cross-Platform GUI Programming with wxWidgets (Julian Smart)
An Introduction to GCC: for the GNU Compilers GCC and G++ (Brian Gough)