Skip to content

Commit 088dd5a

Browse files
committed
style: C++ style revised in chapter two, three, four and five
1 parent 32402b7 commit 088dd5a

11 files changed

Lines changed: 94 additions & 103 deletions

File tree

src/appendix/B-operators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ This page is a high level overview of C++ operators and other symbols and what t
3333
| `%=` | `var %= expr` | Arithmetic remainder and assignment ||
3434
| `~` | `~expr` | Bitwise Complement ||
3535
| `&` | `&expr` | Address of ||
36-
| `&` | `type ident&`, `type ident const&` | Reference type ||
36+
| `&` | `type ident&`, `const type ident&` | Reference type ||
3737
| `&` | `expr & expr` | Bitwise AND ||
3838
| `&=` | `var &= expr` | Bitwise AND and assignment ||
3939
| `&&` | `expr && expr` | Logical AND | ☑️ |
@@ -72,7 +72,7 @@ This page is a high level overview of C++ operators and other symbols and what t
7272
| Operator | Example | Description |
7373
|:-----------:|:----------------------------:|:------------------------------------------------------------------------:|
7474
| `new` | `new type (init-list)` | Allocate a heap memory object constructed with parameters in *init-list* |
75-
| `new []` | `new type[size] {init-list}` | Allocate a heap memory block initialized with elements in *init-list* |
75+
| `new []` | `new type[size]{init-list}` | Allocate a heap memory block initialized with elements in *init-list* |
7676
| `delete` | `delete expr` | Delete heap memory object |
7777
| `delete []` | `delete [] expr` | Deletes heap memory block |
7878

src/ch02-guessing-game/guessing-game.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ which contains a bunch of facilities for generating random numbers. Update your
241241
auto main() -> int {
242242
std::cout << "Guessing Game!\n";
243243

244-
auto rd = std::random_device {};
245-
auto gen = std::mt19937 { rd() };
246-
auto distrib = std::uniform_int_distribution<unsigned> { 1u, 100u };
244+
auto rd = std::random_device{};
245+
auto gen = std::mt19937{rd()};
246+
auto distrib = std::uniform_int_distribution<unsigned>{1u, 100u};
247247
const auto secret_number = distrib(gen);
248248

249249
std::cout << "The secret number is: " << secret_number << '\n';
@@ -263,8 +263,8 @@ number generation types. Next we add the lines
263263

264264
```cpp,icon=%cplusplus,fp=main.cxx:8:10
265265
auto rd = std::random_device{};
266-
auto gen = std::mt19937{ rd() };
267-
auto distrib = std::uniform_int_distribution{ 1, 100 };
266+
auto gen = std::mt19937{rd()};
267+
auto distrib = std::uniform_int_distribution<unsigned>{1u, 100u};
268268
```
269269

270270
The first line (default) constructs a new `std::random_device`[^14]. This is a uniformly
@@ -280,7 +280,7 @@ This sets up our random number generator. To obtain a random number we can call
280280
distribution object, passing in the generator and returning a new random value.
281281

282282
```cpp,icon=%cplusplus,fp=main.cxx:11
283-
auto const secret_number = distrib(gen);
283+
const auto secret_number = distrib(gen);
284284
```
285285

286286
## Comparing the Guess to the Secret Number
@@ -297,9 +297,9 @@ auto main() -> int {
297297
std::cout << "Guessing Game!\n";
298298

299299
auto rd = std::random_device{};
300-
auto gen = std::mt19937{ rd() };
301-
auto distrib = std::uniform_int_distribution{ 1, 100 };
302-
auto const secret_number = distrib(gen);
300+
auto gen = std::mt19937{rd()};
301+
auto distrib = std::uniform_int_distribution<unsigned>{1u, 100u};
302+
const auto secret_number = distrib(gen);
303303

304304
std::cout << "The secret number is: " << secret_number << '\n';
305305
std::cout << "Please input your guess: ";
@@ -407,9 +407,9 @@ auto main() -> int {
407407
$ std::cout << "Guessing Game!\n";
408408
$
409409
$ auto rd = std::random_device{};
410-
$ auto gen = std::mt19937{ rd() };
411-
$ auto distrib = std::uniform_int_distribution{ 1, 100 };
412-
$ auto const secret_number = distrib(gen);
410+
$ auto gen = std::mt19937{rd()};
411+
$ auto distrib = std::uniform_int_distribution{1, 100};
412+
$ const auto secret_number = distrib(gen);
413413
$
414414
$ std::cout << "The secret number is: " << secret_number << '\n';
415415
$ std::cout << "Please input your guess: ";
@@ -420,10 +420,10 @@ $
420420

421421
try {
422422
guess = std::stoi(input);
423-
} catch (std::invalid_argument const&) {
423+
} catch (const std::invalid_argument&) {
424424
std::cerr << "Invalid input " << std::quoted(input) << "!\n";
425425
std::exit(0);
426-
} catch (std::out_of_range const&) {
426+
} catch (const std::out_of_range&) {
427427
std::cerr << "Input " << std::quoted(input) << " is too large!" << '\n';
428428
std::exit(0);
429429
}
@@ -484,9 +484,9 @@ auto main() -> int {
484484
$ std::cout << "Guessing Game!\n";
485485
$
486486
$ auto rd = std::random_device{};
487-
$ auto gen = std::mt19937{ rd() };
488-
$ auto distrib = std::uniform_int_distribution{ 1, 100 };
489-
$ auto const secret_number = distrib(gen);
487+
$ auto gen = std::mt19937{rd()};
488+
$ auto distrib = std::uniform_int_distribution{1, 100};
489+
$ const auto secret_number = distrib(gen);
490490
$
491491
$ std::cout << "The secret number is: " << secret_number << '\n';
492492
$ auto input = std::string{};
@@ -501,10 +501,10 @@ $ std::getline(std::cin, input);
501501
$
502502
try {
503503
guess = std::stoi(input);
504-
} catch (std::invalid_argument const&) {
504+
} catch (const std::invalid_argument&) {
505505
std::cerr << "Invalid input " << std::quoted(input) << "!\n";
506506
continue;
507-
} catch (std::out_of_range const&) {
507+
} catch (const std::out_of_range&) {
508508
std::cerr << "Input " << std::quoted(input) << " is too large!" << '\n';
509509
continue;
510510
}

src/ch02-guessing-game/main_cxx_17.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ auto main() -> int {
88
std::cout << "Guessing Game!\n";
99

1010
auto rd = std::random_device{};
11-
auto gen = std::mt19937{ rd() };
12-
auto distrib = std::uniform_int_distribution{ 1, 100 };
11+
auto gen = std::mt19937{rd()};
12+
auto distrib = std::uniform_int_distribution{1, 100};
1313

1414
const auto secret_number = distrib(gen);
1515
auto input = std::string{};

src/ch02-guessing-game/main_cxx_20.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ auto main() -> int {
99
std::cout << "Guessing Game!\n";
1010

1111
auto rd = std::random_device{};
12-
auto gen = std::mt19937{ rd() };
13-
auto distrib = std::uniform_int_distribution{ 1, 100 };
12+
auto gen = std::mt19937{rd()};
13+
auto distrib = std::uniform_int_distribution{1, 100};
1414

1515
const auto secret_number = distrib(gen);
1616
auto input = std::string{};
17-
auto guess = int{0};
17+
auto guess = 0;
1818

1919
while (true) {
2020
std::cout << "Please input your guess: ";
2121
std::getline(std::cin, input);
2222

2323
try {
2424
guess = std::stoi(input);
25-
} catch (std::invalid_argument const&) {
25+
} catch (const std::invalid_argument&) {
2626
std::cout << "Invalid input " << std::quoted(input) << "!\n";
2727
continue;
28-
} catch (std::out_of_range const&) {
28+
} catch (const std::out_of_range&) {
2929
std::cout << "Input " << std::quoted(input) << " is too large!" << '\n';
3030
continue;
3131
}
3232

33-
if (auto const cmp = guess <=> secret_number; std::is_eq(cmp)) {
33+
if (const auto cmp = guess <=> secret_number; std::is_eq(cmp)) {
3434
std::cout << "You guessed correctly!\n";
3535
break;
3636
} else if (std::is_lt(cmp)) {

src/ch03-common-concepts/data-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ $#include <iostream>
300300
$#include <tuple>
301301
$
302302
auto main() -> int {
303-
const auto t = std::tuple{ 5u, 5.34f, -345, "abc", false };
303+
const auto t = std::tuple{5u, 5.34f, -345, "abc", false};
304304
const auto u = std::make_tuple(5u, 5.f, -345, "abc", false);
305305
306306
const auto [v, w, x, y, z] = t;

src/ch03-common-concepts/functions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ $#include <sstream>
8989
$#include <string>
9090
$
9191
auto foo(const int x, const int y) -> std::string {
92-
auto ss = std::stringstring{};
92+
auto ss = std::stringstream{};
9393
ss << "x: " << x << ", y: " << y << "\n";
9494
return ss.str();
9595
}
@@ -118,14 +118,14 @@ $#include <string>
118118
// --snip--
119119
120120
auto another_one(const int x, const int y) -> std::string {
121-
$ auto ss = std::stringstream {};
121+
$ auto ss = std::stringstream{};
122122
$ ss << "x: " << x << ", y: " << y << "\n";
123123
$ return ss.str();
124124
// --snip--
125125
}
126126
127127
auto another_one(const float x, const float y) -> std::string {
128-
auto ss = std::stringstream {};
128+
auto ss = std::stringstream{};
129129
ss << std::setprecision(4)
130130
<< "x: "
131131
<< x
@@ -157,13 +157,13 @@ functions can only take two parameters except unary operators, which can only ta
157157
// --snip--
158158
159159
auto operator<<(std::ostream& os, std::pair<int, int> p) -> std::ostream& {
160-
auto const [x, y] = p;
160+
const auto [x, y] = p;
161161
os << "x: " << x << ", y: " << y << "\n";
162162
return os;
163163
}
164164
165165
auto main() -> int {
166-
auto const p = std::pair{7, 6};
166+
const auto p = std::pair{7, 6};
167167
168168
std::cout << p << "\n";
169169
return 0;

src/ch03-common-concepts/vars-mut.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ value.
130130
```cpp,icon=%cplusplus,fp=main.cxx
131131
#include <iostream>
132132
133-
auto constexpr sum(auto const n) {
133+
constexpr auto sum(const auto n) {
134134
auto acc = 0;
135135
for (auto i = 0; i < n; ++i) {
136136
acc += 1;
@@ -140,7 +140,7 @@ auto constexpr sum(auto const n) {
140140
}
141141
142142
auto main() -> int {
143-
auto constexpr x = (42 + 7) / sum(23);
143+
constexpr auto x = (42 + 7) / sum(23);
144144
auto y = 6;
145145
y = (42 + 7) / sum(23);
146146

src/ch04-ownership/refs-moves.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ auto foo(const std::string& s) -> const std::string& {
8989
}
9090

9191
auto main() -> int {
92-
auto const s = std::string{"hello"};
92+
const auto s = std::string{"hello"};
9393

9494
std::cout << "Address of s: " << static_cast<const void*>(s.data()) << "\n";
9595
std::cout << foo(s);
@@ -133,7 +133,7 @@ $#include <string>
133133
$#include <utility>
134134
// --snip--
135135

136-
auto constexpr str_addr(const std::string& s) -> const void* {
136+
constexpr auto str_addr(const std::string& s) -> const void* {
137137
return static_cast<const void*>(s.data());
138138
}
139139

src/ch05-structures/create.md

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# Creating Structures
22

3-
> [!WARNING]
4-
> 🚧 Page Under Construction! 🏗️
5-
63
To declare a struct we use the `struct` keyword followed by the name of the new type.
74
Members are defined inside curly braces using the same variable and function declaration
85
syntax we have seen previously; although variables do not need an initializer and thus
@@ -40,7 +37,7 @@ $ std::string email;
4037
$};
4138
$
4239
auto main() -> int {
43-
auto const p = Person {
40+
const auto p = Person{
4441
true,
4542
23,
4643
"John Doe",
@@ -100,16 +97,13 @@ auto make_person(std::string_view const name, std::string_view const email) -> P
10097
return Person {
10198
true,
10299
0,
103-
std::string{ name },
104-
std::string{ email }
100+
std::string{name},
101+
std::string{email}
105102
};
106103
}
107104
108105
auto main() -> int {
109-
auto const p = make_person(
110-
"John Doe",
111-
"johnd@example.com"
112-
);
106+
const auto p = make_person("John Doe", "johnd@example.com");
113107
$
114108
$ return 0;
115109
}
@@ -135,19 +129,16 @@ $auto make_person(std::string_view const name, std::string_view const email) ->
135129
$ return Person {
136130
$ true,
137131
$ 0,
138-
$ std::string{ name },
139-
$ std::string{ email }
132+
$ std::string{name},
133+
$ std::string{email}
140134
$ };
141135
$}
142136
$
143137
auto main() -> int {
144-
auto const p1 = make_person(
145-
"John Doe",
146-
"johnd@example.com"
147-
);
138+
const auto p1 = make_person("John Doe", "johnd@example.com");
148139

149140
// Default construct
150-
auto p2 = Person {};
141+
auto p2 = Person{};
151142

152143
// Copy
153144
auto p3 = p1;

src/ch05-structures/example.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ simple program to calculate operations on a 3D vector type.
77
$#include <cmath>
88
$#include <iostream>
99
$
10-
auto magnitude(auto const x, auto const y, auto const z) -> double {
10+
auto magnitude(const double x, const double y, const double z) -> double {
1111
return std::sqrt(x * x + y * y + z * z);
1212
}
1313

1414
auto main() -> int {
15-
auto const x = 2.;
16-
auto const y = 3.;
17-
auto const z = 5.;
15+
const auto x = 2.;
16+
const auto y = 3.;
17+
const auto z = 5.;
1818

1919
std::cout << "The magnitude of the vector is "
2020
<< magnitude(x, y, z)
@@ -38,13 +38,13 @@ $#include <tuple>
3838
$
3939
using vec3 = std::tuple<double, double, double>;
4040
41-
auto magnitude(vec3 const vec) -> double {
42-
auto const& [x, y, z] = v;
41+
auto magnitude(const vec3 vec) -> double {
42+
const auto& [x, y, z] = v;
4343
return std::sqrt(x * x + y * y + z * z);
4444
}
4545
4646
auto main() -> int {
47-
auto const v = vec3 { 2., 3., 5. };
47+
const auto v = vec3{2., 3., 5.};
4848
4949
std::cout << "The magnitude of the vector is "
5050
<< magnitude(v)
@@ -78,14 +78,14 @@ struct vec3 {
7878
double z;
7979
};
8080

81-
auto magnitude(vec3 const vec) -> double {
81+
auto magnitude(const vec3 vec) -> double {
8282
return std::sqrt(vec.x * vec.x
8383
+ vec.y * vec.y
8484
+ vec.z * vec.z);
8585
}
8686

8787
auto main() -> int {
88-
auto const v = vec3 { 2., 3., 5. };
88+
const auto v = vec3{2., 3., 5.};
8989

9090
std::cout << "The magnitude of the vector is "
9191
<< magnitude(v)

0 commit comments

Comments
 (0)