Thank you for your support of "Those Things About C++". The content is now synchronized to Station B and displayed in the form of a video. You can open the website to read it directly~ Welcome everyone to star, repost, and PR.
Online personal blog: Guangcheng’s Laboratory
Online learning website: C++ things
This is a warehouse suitable for beginners from entry to advanced , solving the problems of interviewers and learners who want to go deep into C++ and how to get into C++ . In addition, this repository expands knowledge on more in-depth source code analysis, multi-thread concurrency, etc. It is a relatively comprehensive repository for C++ learning from entry to advanced.
Launch a series of blockbuster projects to help everyone learn C++ in practice. Cooperate with this open source project to learn and grow rapidly!
Direct point: click here
The public account has opened two entrances, namely the album and the menu. You can read the content of "Those Things About C++" directly on the WeChat public account. It will be very cool with the code of the warehouse. It is recommended that everyone pay attention.
Personal public account: guangcity
Or scan the QR code below to welcome everyone's feedback and C++ exchanges. I have created a C++ exchange group on WeChat, a high-quality C++ resource exchange area. I hope everyone will pay attention to the above official account. Click on the lower right corner of the official account -> Contact me. Pull you into the group.
follow me
If you think it’s good, follow me~
planet | WeChat public account |
---|
Newly launched development-free environment, docker environment, you can pull the following image:
docker pull xingfranics/cplusplusthings:latest
The first issue: Step By Step to start compiling this project
Phase 2: Docker-free development environment
The third issue: Read HashTable step by step and thoroughly understand C++ STL
Issue 4: Read enable_shared_from_this of STL step by step
Issue 5: Read STL threads step by step, from C++11 thread to C++20 jthread
Issue 6: Read STL step by step: condition_variable, condition_variable_any
Issue 7: Read STL’s Mutex step by step
Issue 8: Read STL’s RAII Lock step by step
Interview records of major Internet companies
Essential interviews to get an offer
const
thingsstatic
thingsthis
thingsinline
those thingssizeof
those thingsvptr_vtable
thingsvirtual
thingsvolatile
thingsassert
those thingsextern
thingsstruct
those thingsstruct
and class
union
those thingsc
implements c++
polymorphismexplicit
those thingsfriend
using
those things::
those thingsenum
those thingsdecltype
those thingsday1-basic grammar
day2-recursion, structures, enumerations, static variables, etc.
day3-function 1
day4-function 2
day5-inheritance polymorphism
day6-virtual functions and abstract classes
day7-operator overloading
day8-templates and STL
day9-Exception
day10-Files and streams
Square bracket overloading.cpp
Clock++ operator overloading.cpp
Operator overloading cast.cpp
Clock overloading parentheses.cpp
function template.cpp
dynamic array.cpp
Dictionary insertion and search.cpp
Exception catching.cpp
Class template stack.cpp
Class template specialization array.cpp
Inheritance and encapsulation.cpp
Comprehensive questions on reading and writing files.cpp
Input and output operator overloading.cpp
Input and output overload.cpp
Output format.cpp
C++2.0 is an abbreviation, meaning "Modern C++", including C++11/14/17/20.
Variadic Templates
Spaces in Template Expressions
vector<list< int > > // ok in each C++ version
vector<list< int >> // before c++ 11 error error: ‘>>’ should be ‘> >’ within a nested template argument list,c++11后可以正常通过
nullptr and nullptr_t
Automatic Type Deduction with auto
Uniform Initialization
initializer_list
explicit for actors taking more than one argument
range-based for statement
for (decl:col) {
statement
}
=default,=delete
If you define a ctor
by yourself, the compiler will not give you a default ctor
. If you force =default
, you can regain and use default ctor
.
Alias(pseudonym) Template (template typedef)
template template parameter
type alias
noexcept
override
final
decltype
lambda
Rvalue reference
move aware class
Containers-Structure and Classification
array
(newly introduced in C++2.0), vector
, deque
, list
, forward_list
(newly introduced in C++2.0)set/multiset
, map/multimap
hash_xxx
with unordered_xxx
) include: unordered_map/unordered_multimap,unordered_set/unordered_multiset
Hash Function
tuple
Learning materials: https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
To be updated...
STL source code analysis: gcc 4.9.1
Learning materials: https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/
Learned from:
https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4
Teacher Wu’s code has been modified, click here to access the code directly
enter:
map< int , int > mp{
{ 1 , 1 },
{ 2 , 4 },
{ 3 , 9 }};
cout << mp << endl;
The output shows:
{ 1 => 1 , 2 => 4 , 3 => 9 }
Contributor | address |
---|---|
Guangcheng | https://github.com/Light-City |
ChungZH | https://github.com/ChungZH |
xliu79 | https://github.com/xliu79 |