Merci pour votre soutien à "Those Things About C++". Le contenu est désormais synchronisé avec la Station B et affiché sous la forme d'une vidéo. Vous pouvez ouvrir le site Web pour le lire directement ~ Bienvenue dans la star, la republication et les relations publiques.
Blog personnel en ligne : Laboratoire de Guangcheng
Site d'apprentissage en ligne : choses C++
Il s'agit d'un entrepôt adapté aux débutants de l'entrée à l'avancée , résolvant les problèmes des intervieweurs et des apprenants qui souhaitent approfondir le C++ et comment se lancer dans le C++ . De plus, ce référentiel élargit les connaissances sur une analyse plus approfondie du code source, la concurrence multithread, etc. Il s'agit d'un référentiel relativement complet pour l'apprentissage du C++ de l'entrée à l'avancée.
Lancez une série de projets à succès pour aider tout le monde à apprendre le C++ de manière pratique. Coopérez avec ce projet open source pour apprendre et grandir rapidement !
Point direct : cliquez ici
Le compte public a ouvert deux entrées, à savoir l'album et le menu. Vous pouvez lire le contenu de "Those Things About C++" directement sur le compte public WeChat. Ce sera très cool avec le code de l'entrepôt. tout le monde fait attention.
Compte public personnel : guangcity
Ou scannez le code QR ci-dessous pour accueillir les commentaires de chacun et les échanges C++. J'ai créé un groupe d'échange C++ sur WeChat, une zone d'échange de ressources C++ de haute qualité. J'espère que tout le monde prêtera attention au compte officiel ci-dessus. coin du compte officiel -> Contactez-moi. Intégrez-vous au groupe.
suis-moi
Si tu penses que c'est bien, suis-moi ~
planète | Compte public WeChat |
---|
Environnement sans développement nouvellement lancé, environnement docker, vous pouvez extraire l'image suivante :
docker pull xingfranics/cplusplusthings:latest
Le premier numéro : étape par étape pour commencer à compiler ce projet
Phase 2 : Environnement de développement sans Docker
Le troisième problème : lisez HashTable étape par étape et comprenez parfaitement C++ STL
Problème 4 : Lire l'enable_shared_from_this de STL étape par étape
Problème 5 : Lire les threads STL étape par étape, du thread C++11 au jthread C++20
Problème 6 : Lire STL étape par étape : condition_variable, condition_variable_any
Numéro 7 : Lire le Mutex de STL étape par étape
Problème 8 : Lisez le verrou RAII de STL étape par étape
Dossiers d'entretiens de grandes sociétés Internet
Entretiens essentiels pour obtenir une offre
const
chosesstatic
this
chosesinline
ces chosessizeof
de ces chosesvptr_vtable
virtual
volatile
assert
ces chosesextern
chosesstruct
ces chosesstruct
et class
union
ces chosesc
implémente le polymorphisme c++
explicit
ces chosesfriend
using
ces choses::
ces chosesenum
ces chosesdecltype
ces chosesgrammaire de base du jour 1
day2-recursion, structures, énumérations, variables statiques, etc.
jour3-fonction 1
jour4-fonction 2
polymorphisme d'héritage day5
fonctions virtuelles day6 et classes abstraites
surcharge des opérateurs day7
modèles day8 et STL
jour9-Exception
jour10-Fichiers et flux
Surcharge entre crochets.cpp
Opérateur Clock++ surchargeant.cpp
Opérateur surchargeant cast.cpp
Horloge surchargeant parenthèses.cpp
modèle de fonction.cpp
tableau dynamique.cpp
Insertion de dictionnaire et recherche.cpp
Capture d'exception.cpp
Pile de modèles de classe.cpp
Tableau de spécialisation de modèle de classe.cpp
Héritage et encapsulation.cpp
Questions complètes sur la lecture et l'écriture de fichiers.cpp
Opérateur d'entrée et de sortie surcharge.cpp
Surcharge d'entrée et de sortie.cpp
Format de sortie.cpp
C++2.0 est une abréviation signifiant « C++ moderne », y compris C++11/14/17/20.
Modèles variés
Espaces dans les expressions de modèle
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 et nullptr_t
Déduction automatique de type avec auto
Initialisation uniforme
liste_initialiseur
explicite pour les acteurs prenant plus d'un argument
instruction for basée sur une plage
for (decl:col) {
statement
}
=par défaut,=supprimer
Si vous définissez un ctor
par vous-même, le compilateur ne vous donnera pas de default ctor
. Si vous forcez =default
, vous pouvez retrouver et utiliser default ctor
.
Modèle d'alias (pseudonyme) (typedef de modèle)
paramètre de modèle de modèle
tapez un alias
nonsauf
outrepasser
final
type décl
lambda
Référence de valeur R
classe consciente des mouvements
Conteneurs-Structure et classification
array
(nouvellement introduit en C++2.0), vector
, deque
, list
, forward_list
(nouvellement introduit en C++2.0)set/multiset
, map/multimap
hash_xxx
d'origine par unordered_xxx
) incluent : unordered_map/unordered_multimap,unordered_set/unordered_multiset
Fonction de hachage
tuple
Matériel d'apprentissage : https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
A mettre à jour...
Analyse du code source STL : gcc 4.9.1
Matériel d'apprentissage : https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/
Appris de :
https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4
Le code du professeur Wu a été modifié, cliquez ici pour accéder directement au code
entrer:
map< int , int > mp{
{ 1 , 1 },
{ 2 , 4 },
{ 3 , 9 }};
cout << mp << endl;
La sortie montre :
{ 1 => 1 , 2 => 4 , 3 => 9 }
Donateur | adresse |
---|---|
Guangcheng | https://github.com/Light-City |
ChungZH | https://github.com/ChungZH |
xliu79 | https://github.com/xliu79 |