Skip to content

Commit c49bd33

Browse files
committed
Remerciement aux relecteurs
1 parent 3275481 commit c49bd33

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

_articles/c++_auto.md

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,17 @@ category: c++
66
logo: c++.svg
77
background: corridor4.webp
88
published: true
9+
reviewers:
10+
- name: Arthur Laurent (Arthapz)
11+
link: https://github.com/Arthapz
12+
- name: Gabin Lefranc (Gly)
13+
link: https://github.com/glcraft
914
---
1015

1116
Le mot clef ``auto``, ses **avantages** et ses différents comportements **selon la version** et le contexte.
1217

18+
{% reviewers %}
19+
1320
## Automatic storage duration specifier (avant C++11) (obsolète)
1421

1522
En langage C, ``auto`` (pour "**Automatic Storage Duration**") sert à spécifier qu'une variable a une **portée locale** à son bloc de code (**scope**).
@@ -139,7 +146,7 @@ auto sum = [](int lhs, int rhs) -> int { return lhs + rhs; };
139146

140147
Attention, le mot clef ``auto`` est **différent pour les paramètres de fonctions**. On aborde ce point [plus bas](#abbreviated-function-template-depuis-c20).
141148

142-
#### Oublier une conversion explicite
149+
### Oublier une conversion explicite
143150

144151
Par négligence ou par méconnaissance de la bibliothèque standard, on peut penser que les deux codes suivants sont identiques:
145152

@@ -1029,23 +1036,6 @@ template<class Lhs, class Rhs>
10291036
void sum(Lhs lhs, Rhs rhs);
10301037
{% endhighlight %}
10311038

1032-
### try-catch ne supporte pas ``auto``
1033-
1034-
Bien que la syntaxe d'un ``catch`` puisse le laisser penser, un try-catch block **n'est pas une fonction**.<br>
1035-
Il n'est pas possible de templater le paramètre d'un ``catch``.<br>
1036-
De la même manière, il n'est pas possible d'utiliser ``auto`` pour typer ce paramètre.
1037-
1038-
{% highlight cpp linenos highlight_lines="5" %}
1039-
try
1040-
{
1041-
// ...
1042-
}
1043-
catch (const auto& exception) // error: 'auto' not allowed in exception declaration
1044-
{
1045-
std::cout << exception.what();
1046-
}
1047-
{% endhighlight %}
1048-
10491039
## auto cast (depuis C++23)
10501040

10511041
Une manière générique d'obtenir la copie d'un objet en C++ est ``auto variable = x;``, mais une telle copie est une [lvalue](/articles/c++/value_categories#lvalue).
@@ -1059,7 +1049,9 @@ function(auto{expr});
10591049

10601050
## Structured binding pack (depuis C++26)
10611051

1062-
Dans la continuité des [structured binding declaration](#structured-binding-declaration-depuis-c17), le C++26 ajoute la possibilité de d'extraire des éléments dans un pack ([proposal](https://wg21.link/P1061R10), [approval](https://wg21.link/P1061R9)).
1052+
Dans la continuité des [structured binding declaration](#structured-binding-declaration-depuis-c17), le C++26 ajoute la possibilité de d'extraire des éléments dans un [pack](/articles/c++/templates#pack) ([proposal](https://wg21.link/P1061R10), [approval](https://wg21.link/P1061R9/status)).
1053+
1054+
Cette fonctionnalité n'est [pas encore supportée par les compilateurs](https://en.cppreference.com/w/cpp/26) à l'heure où j'écris.
10631055

10641056
{% wip %}
10651057

_plugins/reviewers.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module Jekyll
2+
class ReviewersTag < Liquid::Tag
3+
def render(context)
4+
reviewers = context.registers[:page]["reviewers"]
5+
if reviewers
6+
output = "**Merci** aux relecteurs: " + reviewers.map { |reviewer| "[*#{reviewer['name']}*](#{reviewer['link']})" }.join(", ")
7+
output
8+
else
9+
""
10+
end
11+
end
12+
end
13+
end
14+
15+
Liquid::Template.register_tag("reviewers", Jekyll::ReviewersTag)

_posts/2025-01-19-welcome-to-my-devblog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Je suis un **développeur C++ et web**, en constante veille technologique pour m
1818
Ma philosophie en programmation est basée sur la **rigueur**, la **généricité**, la **clarté**, les **performances** et la **sécurité**.<br>
1919
J'ai un fort besoin de comprendre les choses pour pouvoir les manipuler, ce qui me pousse à creuser toujours plus dans l'aspect technique des langages.
2020

21-
Si vous partagez ma passion pour la programmation ou que vous cherchez à apprendre des choses, vous êtes au bon endroit.
21+
Si vous partagez ma passion pour la programmation et que vous cherchez à apprendre des choses, vous êtes au bon endroit.
2222

2323
## Objectif de ce site
2424

0 commit comments

Comments
 (0)