0% found this document useful (0 votes)
34 views41 pages

The C Standard Library Fourth Edition Includes C 23 Rainer Grimm Download

The document provides links to various educational ebooks, including 'The C Standard Library Fourth Edition' by Rainer Grimm and other titles related to programming, biology, social marketing, and more. It emphasizes the availability of these resources for download from ebookmeta.com. Additionally, it mentions the Lean Publishing process used for the publication of some of these books.

Uploaded by

zexstasu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views41 pages

The C Standard Library Fourth Edition Includes C 23 Rainer Grimm Download

The document provides links to various educational ebooks, including 'The C Standard Library Fourth Edition' by Rainer Grimm and other titles related to programming, biology, social marketing, and more. It emphasizes the availability of these resources for download from ebookmeta.com. Additionally, it mentions the Lean Publishing process used for the publication of some of these books.

Uploaded by

zexstasu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

The C Standard Library Fourth Edition includes C

23 Rainer Grimm download

https://ebookmeta.com/product/the-c-standard-library-fourth-
edition-includes-c-23-rainer-grimm/

Download more ebook from https://ebookmeta.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookmeta.com
to discover even more!

Beginning C++23 Ivor Horton

https://ebookmeta.com/product/beginning-c23-ivor-horton/

Beginning C++23 7th Edition Ivor Horton

https://ebookmeta.com/product/beginning-c23-7th-edition-ivor-
horton/

Invertebrates: Fourth Edition Richard C. Brusca

https://ebookmeta.com/product/invertebrates-fourth-edition-
richard-c-brusca/

Social Marketing Principles and Practice for Delivering


Global Change 4th Edition Gerard Hastings

https://ebookmeta.com/product/social-marketing-principles-and-
practice-for-delivering-global-change-4th-edition-gerard-
hastings/
ACSM Guidelines for Exercise Testing and Prescription
11th Edition Gary Liguori

https://ebookmeta.com/product/acsm-guidelines-for-exercise-
testing-and-prescription-11th-edition-gary-liguori/

The abused and the abuser victim perpetrator dynamics


1st Edition Warwick Middleton Adah Sachs Martin J
Dorahy

https://ebookmeta.com/product/the-abused-and-the-abuser-victim-
perpetrator-dynamics-1st-edition-warwick-middleton-adah-sachs-
martin-j-dorahy/

Quantum Machine Learning: An Applied Approach. The


Theory and Application of Quantum Machine Learning in
Science and Industry 1st Edition Santanu Ganguly

https://ebookmeta.com/product/quantum-machine-learning-an-
applied-approach-the-theory-and-application-of-quantum-machine-
learning-in-science-and-industry-1st-edition-santanu-ganguly/

Eugenics Genetics and Disability in Historical and


Contemporary Perspective Implications for the Social
Work Profession Gerald O'Brien

https://ebookmeta.com/product/eugenics-genetics-and-disability-
in-historical-and-contemporary-perspective-implications-for-the-
social-work-profession-gerald-obrien/

Invasion 1st Edition A J Mackenzie

https://ebookmeta.com/product/invasion-1st-edition-a-j-mackenzie/
German Stoicisms From Hegel to Sloterdijk 1st Edition
Kurt Lampe

https://ebookmeta.com/product/german-stoicisms-from-hegel-to-
sloterdijk-1st-edition-kurt-lampe/
The C++ Standard Library
What every professional C++ programmer should know
about the C++ standard library.

Rainer Grimm
This book is for sale at http://leanpub.com/cpplibrary

This version was published on 2023-03-11

This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process.
Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many
iterations to get reader feedback, pivot until you have the right book and build traction once you do.

© 2016 - 2023 Rainer Grimm


Contents

Reader Testimonials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
English Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
German Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Purpose of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Source Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Value versus Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Further Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Cippi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
About Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

1. The Standard Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


The History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Use of Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Useful Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Adaptors for Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Reference Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Smart Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Type Traits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Time Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
std::any, std::optional, and std::variant . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
std::expected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
CONTENTS

3. Interface of All Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60


Create and delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Assign and Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Erasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4. Sequence Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Deques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Forward Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5. Associative Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Ordered Associative Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Unordered Associative Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

6. Container Adaptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Linear Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Associative Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7. Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Contiguous Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Multidimensional Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8. Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Iterator Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Useful Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Adaptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9. Callable Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119


Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Function Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Lambda Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

10. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123


Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Iterators are the Glue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Sequential, Parallel, or Parallel Execution with Vectorisation . . . . . . . . . . . . . . . . . 127
for_each . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
CONTENTS

Non-Modifying Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132


Modifying Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Binary Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Merge Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Heaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Min and Max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Permutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Numeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Unitialized Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

11. Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177


Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Range Adaptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Direct on the Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Function Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Lazy Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
std Algorithms versus std::ranges Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 188

12. Numeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Numeric Functions Inherited from C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Mathematical Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

13. Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197


Create and Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Conversion Between C++ and C Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Size versus Capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
String Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Element Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Check for a substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Modifying Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Numeric Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

14. String Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214


Create and Initialise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Non-modifying operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Modifying operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
CONTENTS

15. Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219


Character Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Regular Expression Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
The Search Result match_results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Repeated Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

16. Input and Output Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233


Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Input and Output Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
User-defined Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

17. Formatting Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251


Formatting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Format specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
User-defined formatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

18. Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258


Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Non-member functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
File types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

19. Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269


Memory Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Atomic Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Stop Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Shared Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Thread Local Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Condition Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Semaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Coordination Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

20. Coroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313


Awaitables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
An Infinite Data Stream with co_yield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Reader Testimonials
English Edition
Rick Audet
Senior Engineer, Dolby Laboratories

”Arguably the quickest and easiest way to get up to speed on


the most important parts of the C++ standard library. Recommended
for any modern C++ programmer.”

German Edition
Odin Holmes
CEO/CTO at Auto-Intern GmbH

”Das Buch beinhaltet, wie der Name schon sagt, eine recht
ausführliche Beschreibung der STL. Dabei merkt Mann deutlich dass
der Autor auch selber auf hohem Niveau programmiert. Es gibt oft
den ein oder andere Tipp oder Wink in die richtige Richtung die
bei Bücher von Berufsautoren oft fehlen. Z.B. die Aussage dass
std::vector für 95% aller Fälle die beste Wahl ist oder dass
std::async meistens die erste Wahl sein sollte lenkt der Leser
geschickt in die richtige Richtung.

Auch die Auswahl an Komponente aus der STL ist sehr gut getroffen
(keiner kann in ein kürzen Buch die ganze STL beschreiben). Oft
sehe ich, vor allem in Deutschsprachige Literatur, dass die Auswahl
eher auf Komponente trifft die leicht zu beschreiben sind und nicht
auf die Nützlichen. Eine gute und dennoch kürze Beschreibung vom
std::regex z.B. ist weiß Gott nicht einfach aber in diesem Fall ist
es der Autor sehr gelungen.”

Ramon Wartala
Director Technology at Performance Media GmbH
Reader Testimonials ii

”Die 215 Seiten plus Index des ’C++ kurz & gut’ vom Autor Rainer Grimm
stellen ein gelungene Destillat viel umfangreicherer Texte zum Thema
da. So nimmt das Kapitel über die klassischen Algorithmen der
Standardbibliothek ganze 131 Seiten ein. Selbst kurze Beispiele für die
Anwendung der wichtigsten Bestandteile der Standardbibliothek passen
eng gedruckt in das schmale Büchlein. Auch wenn heute Tools wie Dash
oder entsprechend ausgestattete IDEs, mehr und mehr den Platz derartiger
Desktop-Referenzen einnehmen, ist das ’kurz & gut’ zu C++
Standardbibliothek ein leichter und mobiler Begleiter für jeden C++
Entwickler. Und als Kindle Version um so bequemer mitzunehmen.”
Introduction
Purpose of this Book
The C++ Standard Library is a quick reference to the standard library of the current C++23 standard
ISO/IEC 14882:2023¹. C++23 has more than 2100 pages and follows the big C++20 standard. In contrast,
C++23 and C++17 are neither a big nor small C++ standards. C++14 is a small addition to C++11.
C++11 had more than 1,300 pages and was published in 2011. That was 13 years after the first and
only C++ standard, C++98. Of course, there is also C++03, published in 2003. But C++03 is considered
a bug-fix release.
This quick reference aims is to provide a concise reference to the C++ standard library. This book
assumes that you are familiar with C++. If so, you will get the most benefit out of this book. If C++ is
new to you, you should start with a textbook about core C++. Once you have mastered a book about
the core language, you can make your next big step by reading this book. To make your job easier, I
have provided many short code snippets to connect theory and practice.

Index
The book should be a reference for C++ and should, therefore, have an index. Leanpub does not
support the creation of an index. So I’ve made it based on regular expressions, naming conventions, a
lot of python magic, and a long table that I had to split for each page. Here is the problem. The index
is only fully available in the pdf format of the book.

Conventions
I promise only a few conventions.

Special Fonts
Italic
I use Italic if something is essential.
Monospace
I use Monospace for code, instructions, keywords, and names of types, variables, functions, and
classes.
¹https://www.iso.org/standards.html
Introduction iv

Special Boxes
I use boxes for unique information, tips, and warning.

Information headline
Information text.

Tip headline
Tip description.

Warning headline
Warning description.

Source Examples
I don’t particularly appreciate using directives and declarations because they hide the library’s
namespace. I use them so that the origin can always be deduced from the using directive (using
namespace std;) or the using declaration (using std::cout;). Still, because of the limited length of a
page, I have to use them from time to time.
Only header files of the featured functionality are shown in the code snippets. true or false is
displayed in the output code snippets for boolean values, and
std::boolalpha is not used. When your compiler supports the modularized standard library in C++23,
you can replace the headers with an import std statement.

Source Code
To be concise, I only present short code snippets in this book. The name of the entire program is in
the first line of the code snippet.

Value versus Object


I call instances of fundamental data types values, which C++ inherited from C. Instances of more
advanced types, which often consist of fundamental types, are called objects. Objects are typically
instances of user-defined types or containers.
Introduction v

Acknowledgments
First, I want to thank Alexandra Follenius, the lector at O’Reilly, for the German book C++
Standardbibliothek². The German book is the ancestor of this book. For my book C++ Standardbib-
liothek Karsten Ahnert, Guntram Berti, Dmitry Ganyushin, Sven Johannsen, Torsten Robitzki, Bart
Vandewoestyne, and Felix Winter were very valuable proofreaders. A lot of thanks to all of them.
I started a request in my English blog for translating this book to English www.ModernesCpp.com³.
I received a much higher response than I expected. Special thanks to all of you, including my son
Marius, the first proofreader.
Here are the alphabetically ordered names: Mahesh Attarde, Rick Audet, Pete Barrow, Michael Ben-
David, Dave Burns, Alvaro Fernandez, Juliette Grimm, George Haake, Clare Macrae, Arne Mertz, Ian
Reeve, Jason Turner, Bart Vandewoestyne, Ivan Vergiliev, and Andrzej Warzynski.

Further Information

The idea of the book is relatively easy to paraphrase: “What every professional C++ programmer
should know about the C++ standard library.” Because of this intention, I left many answers
unanswered; therefore, I provide you with the links to the details at the beginning of each new topic.
The link will refer to the excellent online resource www.cppreference.com⁴.

Cippi
Let me introduce Cippi. Cippi will accompany you in this book. I hope you like her.
²http://shop.oreilly.com/product/9783955619688.do
³http://www.modernescpp.com/index.php/do-you-wan-t-to-proofread-a-book
⁴http://en.cppreference.com/w/
Introduction vi

I’m Cippi: curious, clever and - yes - feminine!

About Me
I’ve worked as a software architect, team lead, and instructor since 1999. In 2002, I created company-
intern meetings for further education. I have given training courses since 2002. My first tutorials were
about proprietary management software, but I began teaching Python and C++ soon after. I like to
write articles about C++, Python, and Haskell in my spare time. I also like to speak at conferences. I
publish weekly on my English blog Modernes Cpp⁵, and the German blog⁶, hosted by Heise Developer.
Since 2016, I have been an independent instructor giving seminars about modern C++ and Python.
I have published several books in various languages about modern C++ and, in particular, about
concurrency. Due to my profession, I always search for the best way to teach modern C++.
⁵https://www.modernescpp.com/
⁶https://www.grimm-jaud.de/index.php/blog
Introduction vii

Rainer Grimm
1. The Standard Library
The C++ standard library consists of many components. This chapter serves two purposes. It should
give you a quick overview of the features and a first idea of how to use them.

The History
C++ and, therefore, the standard library has a long history. C++ started in the 1980s of the last
millennium and ended now in 2023. Anyone who knows about software development knows how
fast our domain evolves. So 40 years is a very long period. You may not be so astonished that the
first components of C++, like I/O streams, were designed with a different mindset than the modern
Standard Template Library (STL). C++ started as an object-oriented language, incorporated generic
programming with the STL, and has now adopted many functional programming ideas. This evolution
of software development in the last 40 years, which you can observe in the C++ standard library, is
also an evolution in how software problems are solved.

C++ timeline

The first C++98 standard library from 1998 had three components. Those were the previously
mentioned I/O streams, mainly for file handling, the string library, and the Standard Template Library.
The Standard Template Library facilitates the transparent application of algorithms on containers.
The history continues in 2005 with Technical Report 1 (TR1). The extension to the C++ library ISO/IEC
TR 19768 was not an official standard, but almost all components became part of C++11. These were,
for example, the libraries for regular expressions, smart pointers, hash tables, random numbers, and
time, based on the boost libraries (http://www.boost.org/).
In addition to the standardization of TR1, C++11 got one new component: the multithreading library.
The Standard Library 2

C++14 was only a minor update to the C++11 standard. Therefore, C++14 added only a few
improvements to existing libraries for smart pointers, tuples, type traits, and multithreading.
C++17 includes libraries for the file system and the two new data types std::any and std::optional.
C++20 has four outstanding features: concepts, ranges, coroutines, and modules. Besides the big four,
there are more pearls in C++20: the three-way comparison operator, the formatting library, and the
concurrency-related data types semaphores, latches, and barriers.
C++23 improved the big four of C++20: extended ranges functionality, the coroutine generator
std::generator, and a modularized C++ standard library.

Overview
As C++ has many libraries, finding the convenient one for each use case is often difficult.

Utilities
Utilities are libraries with a general focus and, therefore, can be applied in many contexts.
Examples of utilities are functions to calculate the minimum or the maximum of values, the midpoint
of two values, or to swap or move values. Thanks to save comparison of integers, integral promotion
does not kick in.
Other utilities are std::function, std::bind, or std:bind_front. With std::bind or std::bind_front,
you can easily create new functions from existing ones. To bind them to a variable and invoke them
later, you have std::function.
With std::pair and the generalization std::tuple you can create heterogeneous pairs and tuples of
arbitrary length.
The reference wrappers std::ref and std::cref are pretty handy. One can use them to create a
reference wrapper for a variable, which for std::cref is constant.
Of course, the highlights of the utilities are the smart pointers. They allow explicit automatic memory
management in C++. You can model the concept of explicit ownership with std::unique_ptr and
model shared ownership with std::shared_ptr. std::shared_ptr uses reference counting for taking
care of its resource. The third one, std::weak_ptr, helps to break the cyclic dependencies among
std::shared_ptrs. Cyclic references are the classic problem of reference counting.

The type traits library can check, compare and manipulate type information at compile time.
The time library is an import addition to the new multithreading capabilities of C++. But it is also
quite handy to make performance measurements and includes support for calender and time zone.
With std::any, std::optional, and std::variant, we get with C++17 three special datatypes that can
have any, an optional value, or a variant of values.
Another Random Scribd Document
with Unrelated Content
présente sous des aspects si variés, et dans un désordre de
symptômes si extravagant, que l’observateur et le spécialiste en sont
presque toujours déroutés. C’est ce qui explique que la guérison en
soit si malaisée.
—Vadim, je voudrais lire le travail de grand-père; pourrais-tu me
le procurer?
—Rien ne m’est plus facile, car le sachant inutile à ta mère pour
l’instant, je l’ai gardé chez moi. Je pourrai te l’envoyer de Kieff, en
rentrant. Seulement, je te préviens que tu y trouveras beaucoup de
mots techniques et par conséquent difficiles à comprendre pour toi
qui n’es pas initiée...
—Je m’aiderai d’un dictionnaire; il y en a de gros dans la
bibliothèque, ceux de grand’père, justement... Oh! comme cela va
m’intéresser, maintenant! Hélas! oui, lugubrement m’intéresser,
ajouta Viéra avec un soupir.
—Et faire trotter ton imagination qui n’a pas besoin
d’encouragement pour cela! Je ne sais vraiment si je dois te donner
ce mémoire...
—Et quel droit aurais-tu d’agir ainsi, je te prie? Tu n’as rien à voir
avec ma famille du côté maternel. Pourtant, tu les as bien lus, toi;
alors, pourquoi m’empêcherais-tu d’en prendre connaissance?... Je
ne suis plus une enfant, en somme... Oh! je te dis, Vadim, fit Viéra
lentement, que depuis une heure je ne suis plus une enfant! Crois-
le, frère!
Tant de gravité accompagnait ces paroles, une expression de
mélancolie si profonde voilait les clairs yeux bleus, que le jeune
homme sentit monter de son cœur vers sa cousine un élan de pitié
infinie.
—Eh bien! qu’il soit fait selon ta volonté, ma Vierotschka!
—Dans le désordre de mes questions, j’ai encore oublié quelque
chose. Dis-moi, parmi les membres vivants de ma famille, à part la
sœur de maman,—celle-là, je sais qu’elle est folle,—y a-t-il encore
des... malheureux comme ceux dont nous venons de parler?
—Non. Et non seulement plus de ceux-là, mais de réprouvés
d’aucune sorte, car je sais par ta mère—que j’ai interrogée sans lui
faire soupçonner le motif de mon enquête—qu’après elle et ta tante
l’aliénée, Katia, Sacha et toi, êtes les dernières représentantes de
votre race du côté des Douganovski. Ton grand-père constate déjà
dans son mémoire que cette famille est près de s’éteindre... Il n’avait
eu qu’un fils, lui, qui est mort en bas âge, puis ta tante Sofia, puis ta
mère; et, en fait de parents plus éloignés, dans la branche des
Douganovski, il ne lui restait qu’une tante célibataire atteinte de
folie, et un cousin germain âgé de plus de soixante ans, sans
descendants. Ces deux-là sont morts depuis longtemps. Le médecin
aliéniste qu’était ton grand-père aurait dû se réjouir de voir réduite à
quelques membres une race stigmatisée d’un si horrible mal; mais
non, il n’y songe même pas; l’orgueil de l’homme est si grand qu’il
préfère se survivre à lui-même dans la souffrance et l’abjection,
plutôt que de consentir au néant!... Tu vois, Viérotscka, que je
connais l’histoire de la famille mieux que toi.
—Oui, c’est vrai. Ces questions ne m’intéressaient pas jusqu’ici;
je ne pensais qu’à maman, à Sacha, à Katia, à toi, Vad!... Je n’avais
pas encore appris qu’il faut dans la vie savoir penser à tout, surtout
à ce qui est le plus triste, hélas!...
—Il ne faut pas non plus que tu deviennes maintenant d’un
pessimisme outré, ma petite sœur! C’est une tendance qu’ont les
êtres jeunes et vibrants d’exagérer ainsi leurs peines; il faut voir les
choses d’un œil plus impartial, plus philosophe.
—Eh! comment veux-tu que je les voie, les choses, quand elles
sont là criantes d’injustice et de réalité! Ah! Vadia! Sacha folle!
Comment veux-tu que je pense à une tragédie pareille sans gémir
tout haut de douleur et de pitié?
—Crois-tu, ma chérie, que je ne te comprenne pas? Va, je suis là
depuis une demi-heure à te prescrire du calme, et mon cœur, à moi,
éclate de chagrin! Mais comment saurons-nous épargner les peines
à ceux qui nous sont chers si nous ne parvenons pas à surmonter les
nôtres en leur présence? Songe à ta mère qui, grâce au ciel, est
restée jusqu’à présent aveugle au malheur de Sacha; que deviendra-
t-elle le jour où elle s’en apercevra enfin?... Oh! sœur, c’est là une
chose dont Dieu me préserve de devenir le témoin, et que nous
devons retarder au prix de tous nos efforts! Quant à Katia, le
bonheur des fiancées l’aveugle, elle est si gaie, si insouciante!
Aurons-nous le courage de lui gâter l’heure triomphante de son
mariage par de si tristes craintes? Non seulement nous devons donc
cacher notre inquiétude le mieux que nous le pourrons, mais encore
essayer de donner le change par nos plaisanteries et notre air de ne
rien voir, si une bizarrerie plus accentuée de notre Aleksandra venait
un jour ou l’autre forcer les soupçons de ma tante ou de Katia...
Nous éloignerons de la sorte, aussi longtemps que nous le pourrons,
la douleur des êtres faibles que nous aimons. Te sens-tu le courage
d’agir ainsi, Viéra?
—Oui, Vadim, oui, cette force, je l’aurai; du moins tant que tu
seras ici pour me seconder... Mais dans trois semaines tu pars, et
alors que ferai-je seule contre l’indomptable malheur?
—Ce que ta vaillance et ta pitié réunies te dicteront, sœur. Je
réponds d’elles, moi, je sais bien qu’elles iront jusqu’au bout de leur
tâche!
—Et quand il sera trop tard pour feindre?... Quand nos efforts
deviendront vains?...
—Alors, Viéra, alors nous laisserons agir Dieu!
La jeune fille, à ces mots, tourna la tête vers l’image sainte dont
l’or pâle scintillait doucement dans un coin de la chambre. Tout
d’abord un mouvement d’hésitation la retint, comme si le premier
souffle d’épreuve qui passait sur sa vie avait eu déjà le pouvoir de
faire vaciller la claire flamme de sa Foi; mais ce ne fut là qu’une
faiblesse passagère; bientôt reconquise, elle marcha ardemment
vers l’icône.
—O Seigneur! elle est si douce et si jolie, murmura-t-elle en se
prosternant par trois fois pour toucher la terre du front, selon l’usage
russe. Éloigne, Dieu puissant, éloigne ce calice de tes fidèles
servantes! Et maintenant, je vais te laisser travailler, Vad!...
Sa voix était devenue plus égale, son regard plus serein.
—Travailler? Non, je ne le pourrais plus en ce moment; mais je
vais copier ce que j’ai écrit tantôt. Et toi, où iras-tu?
—Près de maman. Depuis que je la sens destinée au malheur, j’ai
besoin de lui montrer toute ma tendresse, à cette pauvre
mamotschka!...
—C’est bon. Dans vingt minutes, dans une demi-heure au plus
tard, j’irai vous rejoindre. Vous serez au jardin?
—Oui, sous le berceau de vigne sauvage. C’est là que nous
travaillerons aujourd’hui au trousseau de Katia.
—Et c’est déjà Mlle Burdeau qui arrive là-bas, sans doute, avec
son chapeau à la mode de Paris?
—De quel côté? Je ne vois pas...
—Mais, là-bas, devant toi. Elle reste immobile sous le bouquet de
lilas, à gauche de la pelouse.
—Ça, Mlle Burdeau? Ça, un chapeau à la mode de Paris?... Oh!
Vad!
Et Viéra ne put s’empêcher, tant sont souples les impressions de
la jeunesse, d’avoir un joli sourire amusé.
—Mais c’est un noisetier noir sur lequel Ioulia a mis sécher une
de nos blouses!...
L’étudiant, à son tour, rit de bon cœur de sa méprise.
—C’est dommage que Katia ne m’ait pas entendu, fit-il; elle
aurait eu là une belle occasion de plaisanter. Comme elle est gaie,
notre Katia!
—Parfois, même, insupportablement; elle n’a pas de mesure.
—Oh! ne le lui reproche pas, Viérotschka! La mesure viendra
assez tôt, va!
—Tu as raison, frère. Hélas! oui... Allons, au revoir, et à tantôt.
—A tantôt.
—Où es-tu, mama? cria Viéra en descendant les marches du
perron.
—Ici... sous la tonnelle. Viens vite... On te cherchait, ma chérie,
dit Tatiana quand la jeune fille l’eut rejointe; le Juif a apporté le
courrier de la gare; il y a une lettre pour toi de Maria Pavlovna.
—Où? Donne.
En prenant le pli scellé que lui tendait sa mère, Viéra rougit, et
son cœur se mit à battre de plaisir; car elle savait qu’une lettre de
Maria Pavlovna, cela signifiait aussi une lettre d’Evguénï, et une
lettre d’Evguénï, c’était une provision de bonheur pour trois à quatre
semaines! Presque aussitôt, pourtant, une faible angoisse fit
tressaillir ses nerfs. «En serais-je déjà réduite, songea-t-elle, les
yeux fixés sur l’enveloppe dont ils semblaient lire attentivement la
suscription, à ne plus pouvoir goûter en paix une joie toute
légitime?»
Mme Erschoff n’ignorait pas la supercherie des lettres de Maria
Pavlovna. Plusieurs fois elle avait surpris dans les épîtres de celle-ci
des feuilles couvertes d’une grosse écriture franche qui n’avait rien
de commun avec les caractères fins et circonspects d’une ancienne
élève de l’«Institut des filles nobles...» Mais, ravie à la perspective
d’une seconde alliance avec la famille Afanassieff, et trop sûre de la
loyauté d’Evguénï qu’elle connaissait depuis son tout jeune âge, pour
craindre un résultat douteux de ce commerce épistolaire, la bonne
Tatiana Vassilievna fermait les yeux sur le manège des jeunes gens
et faisait semblant même de ne pas s’être aperçue qu’il existât entre
eux autre chose qu’une cordiale entente d’amis d’enfance.
—Lis ta lettre à ton aise, Viérotschka, dit-elle en se levant du
banc sur lequel sa fille l’avait trouvée assise, un ouvrage entre les
mains et la chatte d’Aleksandra indolemment nichée dans son giron.
Je vais dire à Ioulia d’apporter ici le thé. Aussi bien les autres ne
peuvent tarder à venir; il est quatre heures et demie, si ma montre
va bien... Viens, Bielka! Viens, mon petit lièvre blanc! Comme elle
est grasse!... No! et ta maîtresse, Bielotschka, où est-elle? Elle nous
néglige bien, n’est-ce pas, Biélousinka, ta petite maîtresse!...
La tigresse en miniature étira ses pattes aux ongles roses, secoua
sa fourrure neigeuse, mais son grave minois ne bougea point. Sa
philosophie de chatte bien nourrie dédaignait de s’émouvoir au son
de vaines paroles...
Maman, elle, poussa un gros soupir, regarda longuement du côté
de la forêt, et dans ses doux yeux bleus, charme resté vivant de sa
grâce d’autrefois, deux larmes furtives perlèrent... Mais, avant que
Viéra pût voir son émoi, elle s’éloigna, suivie de Bieletschka qui,
n’ignorant rien des us de la maison, savait quel profit il y avait pour
elle à se rapprocher des cuisines.
Dix minutes à peine s’étaient écoulées depuis le départ de Mme
Erschoff, que Mlle Burdeau et Katia apparurent à leur tour sous le
berceau de vigne touffue.
—Où étais-tu passée, tantôt? demanda celle-ci à sa cadette. Je te
vois dans la véranda causant avec Evlampia; vite, je fais le tour pour
venir te rejoindre, et, fu...uit! plus personne! J’ai cherché après toi
dans toute la maison, puis au jardin, puis sur la route, mais en vain!
C’est la lettre de Maria Pavlovna que tu tiens là? Comme son écriture
a changé! fit la malicieuse en exagérant son étonnement. On dirait
celle d’un élève en agronomie!...
—Est-ce qu’en Russie les élèves en agronomie ont un genre
d’écriture à eux? demanda Madeleine Burdeau avec ingénuité.
—En Russie, non, pas précisément. Mais à Boutcha... hum!
Et Katia de rire à gorge déployée.
—Comme tes plaisanteries sont fines, Katioucha! dit Viéra en
appuyant sur ce diminutif qui horripilait tant sa sœur. C’est un
honneur, vraiment, d’être mystifié par toi. Pourtant, je te dirai qu’on
le déclinerait parfois avec plaisir, cet honneur, ma chère. Fais-nous
donc la grâce de savoir te taire à propos!...
Katia, gravement, se mit en position, et, pour toute réponse, fit le
salut militaire. Puis, gardant son même ton léger, elle demanda:
—Viens-tu demain à Kieff avec Mlle Burdeau et moi? Je vais
commander ma robe pour le dîner de dimanche en huit. Hé! hé! moi
aussi j’ai mon secret, ajouta-t-elle en tirant de sa poche une lettre
dont elle se servit avec ostentation comme d’un éventail. Notre
mariage sera avancé d’un mois, cria encore l’étourdie dans sa main
gauche roulée en cornet acoustique. Ne le dites à personne... Les
chefs de Serguié ont anticipé son congé; la noce, si maman consent,
—et quel motif aurait-elle de refuser?—aura lieu le 18 novembre...
Mamotschka, viens, chérie; nous parlions de toi... Je disais que tu
nous avais priés, Serguié et moi, d’avancer notre mariage d’un mois,
parce que tu souhaitais être le plus tôt possible débarrassée de ta
fille aînée, et que l’amiral Dariloff, ayant bien voulu prendre ton désir
en considération, avait fait donner son congé à Serguié un mois plus
tôt qu’il ne l’avait été décidé d’abord... Tu es contente? Vois quelle
influence tu as en haut lieu!...
—Dieu de miséricorde! Que me racontes-tu là, gémit la bonne
Tatiana en raffermissant ses lunettes sur son nez pour mieux voir
l’extravagante qui lui parlait. Tu deviens folle, ma pauvre Katia?
Viéra tressaillit. «Encore ce mot, songea-t-elle avec douleur! On
se le jette ainsi constamment à la tête, comme s’il n’avait d’autre
signification qu’un reproche bénin. Mais comme il me fait mal à moi!
Je ne pourrais plus jamais, non plus jamais de la vie l’employer, moi,
maintenant, ce mot affreux, même si ce dont nous avons parlé,
Vadim et moi, n’arrive pas...»
—Peut-on dire des choses pareilles, continuait Mme Erschoff en
hochant la tête d’un air innocemment scandalisé? Enfin, vraiment,
oui, tu es folle, ma petite fille!
—Oui, mamotschka! folle de bonheur, de joie, d’espérance,
d’amour! Folle de mes vingt ans, de mon Serguié, de toi! jeta Katia
en un cri vibrant de débordante ardeur.
—C’est beau, la jeunesse... jeune! fit Madeleine Burdeau,
souriant à cet enthousiasme un peu trop démonstratif, peut-être,
mais si sincère!
—Quel âge avez-vous donc, vous, mademoiselle, pour parler
ainsi, demanda Vadim, qui pendant les derniers mots de Katia était
venu se joindre au groupe? En France, il est impoli, je crois, de
demander son âge à une femme; mais nous, les Russes, nous
sommes plus... mettons plus ronds... Oui, combien de printemps
comptez-vous, pour traiter ainsi la jeunesse comme une chose
regrettée et lointaine?
—Oh! moi!
Le geste de Mlle Burdeau semblait dire: «Moi? est-ce que je
compte, moi? La jeune fille qui, depuis sa sortie de pension, gagne
sa vie parmi les étrangers, a-t-elle un âge?...» Pourtant, craignant
que le jeune homme ne prît son silence pour une coquetterie
puérile, elle finit par dire, tout de même:
—J’ai vingt-six ans, Vadim Piétrovitch. Mon passeport à l’appui,
ajouta-t-elle avec un sourire déjà redevenu gai!
—On vous en donnerait vingt, sans compliment. C’est étonnant
comme les Françaises se... conservent! Et pas dans du vinaigre,
pourtant, comme disait pittoresquement mon précepteur, M.
Rendon!... Sais-tu, Katia, que Mademoiselle a l’air plus jeune que
toi?
—Que bien lui fasse, dit Iékatérina sans rancune.
—Mais le cœur, Vadim Piétrovich... l’âme! jeta Madeleine Burdeau
avec mélancolie.
—Oh! fit Viéra, il ne faut pas avoir vingt-six ans pour que le cœur
et l’âme vieillissent!
Vadim, légèrement, poussa Viéra du coude.
—Je ne dis pas cela pour moi, reprit-elle bien vite en ébauchant
un sourire qui contenta tout le monde; mais...
—Pour le roi de Prusse! trancha Katia en pirouettant sur elle-
même et faisant claquer ses doigts comme des castagnettes. Grâce
à Dieu, voilà le samovar qui vient mettre fin à ce radotage
psychologique! A-t-il de l’esprit, le samovar! Vive le samovar,
vénérable monument de la nationalité russe!
—C’est l’avant-dernière fois que Ioulia nous le donne, le samovar;
n’est-ce pas, enfant? dit Tatiana Vassilievna en prenant des mains de
la Petite-Russienne la bouilloire reluisante. Après demain, elle
retourne chez ses parents, et dans deux semaines, la noce! Ah! ah!
la fillette est heureuse! On dansera, ce jour-là, hein? Et toi la
première, avec ton Danilo?... Mais, que diras-tu, ma colombe, quand
on te coupera tes beaux cheveux? Crois-tu que le mouchoir à fleurs
te coiffera mieux que tes tresses blondes?
—Non! Et que faire, barinia? Maintenant, ma couronne de fleurs
et mes nattes me vont bien, c’est vrai; mais quand je serai vieille!...
Comme on se moquerait de moi si je ne pouvais cacher mes cheveux
sous l’otchipok des babas. Vous savez bien, barinia, que chez nous,
c’est une honte pour une paysanne de rester fille. Et puis...
—Et puis, tu aimes ton Danilo, n’est-ce pas, Iouletschka, fit
Vadim en riant. Est-il humain, et surtout féminin cet «et puis»? Toute
la diplomatie du cœur de la femme tient là-dedans!
—Eh! elle est bien dotée, dit Mme Erschoff quand Ioulia eut fini
de servir le thé; son père donne à Danilo cinq déciatines de terre,
une paire de bœufs, deux vaches, des poules... Pour elle deux
coffres pleins d’effets, un lit et une vaisselle de terre complète. Moi,
je lui offre un samovar de vingt-quatre verres, et les enfants six
essuie-mains brodés. La voilà riche pour toute sa vie, si Danilo reste
l’honnête et courageux garçon qu’il a été jusqu’à présent. A propos,
n’est-ce pas Evlampia que j’ai vue causant avec toi devant le balcon
de la véranda, Viérotschka?
—Si, mère.
—Elles se faisaient des confidences, ajouta vivement Katia en
prenant un air mystérieux, des confidences à propos de Sacha, le
trésor!...
—Ah! toi, laisse à la fin, cria Viéra avec colère.
—Et puis, continua Katia sans se laisser émouvoir par
l’interruption de sa cadette, notre romantique Viéra a disparu de la
véranda comme une ombre... Je l’aurais cru retournée au pays des
esprits si, passant près des fenêtres de Vadim, je ne l’avais...
—Tiens! Tantôt, tu prétendais m’avoir cherchée par toute la
maison, tout le jardin, tout Vodopad, sans pouvoir deviner où j’étais
passée... Tu mens bien, je te félicite, sœur!
—C’est que je voulais voir si tu dirais toi-même ce qui en était...
Mais non, tu as prouvé, Viérotschka, que, si je mens bien, tu ne
dissimules pas plus mal, toi... Et que complotiez-vous, tous deux, je
vous prie? A vous voir, un étranger, ignorant qu’en Russie l’amour
entre cousins germains—entre frère et sœur, comme nous disons,
nous—est considéré presque comme un inceste, aurait pu vous
prendre pour des amoureux en querelle... Moi, je me suis dit
seulement, en remarquant vos noirs visages, que vous deviez être
les complices de Dieu sait quelle chose ténébreuse... Ai-je eu raison,
sœur?
—Oh! oui, oui, murmura Viéra entre ses dents serrées... oui, les
complices d’une chose ténébreuse... d’une chose horrible et
ténébreuse.
—Des héros de Solovieff, quoi! plaisanta très haut Vadim pour
couvrir la voix de sa cousine. Tu as vite bâti des romans! Est-ce une
chose si extraordinaire qu’un tête-à-tête entre Viéra et moi?
—Non; mais aujourd’hui, ça sentait le mystère terriblement!...
Vous aviez des figures tous les deux!... Ah! ma pauvre Melpomène,
comme tu serais démodée avec tes airs tragiques toute autre part
que dans notre sincère Russie!...
—Allons, mes enfants, au travail, intervint Mlle Burdeau qui, avec
sa clairvoyance française, sentait d’intuition la part de vérité que
contenaient les paroles de Katia, et à qui l’expression angoissée du
visage de Viéra n’avait pas échappé; vous savez la tâche que nous
nous sommes imposée pour aujourd’hui. Si vous continuez à
bavarder ainsi sans rien faire, nous ne finirons pas le trousseau
d’Iékatérina à la date fixée... Et que dirait-elle donc, notre fiancée,
s’il fallait supprimer cette belle avance d’un mois dont elle nous
parlait tantôt?... Viéra, ma chérie, voulez-vous me faire le plaisir
d’aller chercher des aiguilles dans la corbeille à ouvrage de Tatiana
Vassilievna! Des nos 10, 9, à la rigueur; j’en aurai besoin bientôt;
celles-ci sont absolument trop grosses pour broder.—Vous ne les
trouverez pas, ma pauvre amie, ajouta-t-elle rapidement à l’oreille
de Viéra; mais cherchez-les longtemps... cela vous fera du bien
d’être seule en ce moment!
Un regard de reconnaissance accueillit ces paroles.
—Oh! merci, merci, Madeleine, répondit tout bas la jeune fille;
vous avez deviné mon plus ardent désir!
Le dos tourné aux regards moqueurs de sa sœur, Viéra put enfin
cesser de se contenir. De grosses larmes tombèrent de ses yeux et
roulèrent lentement tout le long de ses joues brûlantes, désolées,
amères comme le fiel du calvaire. Sa jeune âme, choyée jusqu’alors
par la vie, ne pouvait accepter l’épreuve... Toujours revenait à sa
mémoire l’entretien qu’elle avait eu une heure auparavant avec
Vadim, et le sens des phrases brutales qui s’y étaient échangées,
bouleversait de plus en plus son cœur désemparé. Ah! qu’elles
étaient éloquentes sous leur apparence d’inconsciente raillerie, les
paroles de Katia, faisant allusion au tragique entretien! Comme en
un cauchemar obsédant, Viéra se les répétait à elle-même, tout au
long de la route, ces paroles, et plus elle allait, plus lui semblait
sinistre l’objet qu’elles évoquaient... «Complices d’une chose
ténébreuse... d’une chose ténébreuse... ah! oui, d’une chose horrible
et ténébreuse!...»
Du berceau de vigne sauvage, des voix légères arrivaient jusqu’à
elle, donnant l’impression dissonante d’une musique bouffe entre
deux actes d’un drame... Viéra impatientée s’enfuit vers la maison!
VII

S UR l’asile des géants verts plane un ciel orageux et lourd.


Tout en lui et autour de lui est silence. Même la feuille
branlante du tremble se fige en une immobilité d’émail...
Pas un cri, pas un chant, pas le moindre bourdonnement
d’insecte... Les bêtes peureuses se sont réfugiées dans leurs
tannières; les scarabées, carapacés de leurs brillants élytres,
dorment sous les écorces; et les oiseaux, plumes hérissées, regards
inquiets, se blottissent au fond des nids. Les aiguilles de pins dont le
sol est jonché, crépitent comme des sarments mal éteints; la
mousse perd sa fraîcheur; les corolles agonisent. De temps à autre,
le soleil se cache derrière les nuages; l’ombre succède à la lumière,
mais la chaleur reste, sous le voile plombé du ciel, ce qu’elle était
dans l’ardeur des rayons étincelants: une atmosphère de malaise et
d’angoisse. Le steppe brûlant est à deux pas; on croirait entendre
grésiller ses herbes raccourcies par la main des faucheurs...
Peu à peu, pourtant, un frisson sournois agite les feuilles, un
souffle court entre les arbres. D’abord faible comme une haleine,
puis, plus hardi, il caresse la verdure et les rameaux, lèche les
troncs, éparpille le pollen des fleurs. Enveloppé par ces étreintes
perfides, la forêt mollement s’abandonne... Alors, ambitieux
d’affirmer sa puissance, le vent s’enfle tout à coup, devient cruel,
acharné, formidable! Rien ne l’arrête; ni les craquements des
membres robustes brisés par lui, ni l’épouvante muette des oiseaux
arrachés de leurs nids, ni les gémissements des fougères violées. Il
est le souverain, le despote, le dieu de la terreur et de la force. Il
grince, rugit, saccage, détruit, hurle de volupté, de démence et de
rage!... Vaincus, les arbres tendent vers lui leurs bras tordus de
désespoir, les voix de la forêt demandent grâce; mais le despote ne
veut pas les entendre. Ivre d’orgueil, certain de la victoire, il se
repaît longtemps de l’impuissance de ses victimes... jusqu’à ce
qu’enfin, lassé lui-même de son triomphe, il prépare, pour
disparaître dans toute sa gloire, sa terrifiante apothéose!
Appelée par sa voix, la foudre des antiques sanctuaires renaît.
Sur le fond du ciel couleur d’argile, des lueurs passent, rapides,
enveloppant la forêt de teintes ardentes, lumineuses, splendides! On
dirait le décor sublime d’un théâtre bâti pour des dieux! Et le
tonnerre roule ses fracas... Assise sur le solitaire monticule qui se
dresse au milieu d’un cirque fermé par des mélèzes, Aleksandra
assiste au drame des éléments. Sortie de la datcha une heure avant
l’orage, elle a erré à travers son domaine de troncs et de verdure,
jusqu’à ce que la chaleur, devenue intolérable, la forçât enfin à
suspendre sa course.
L’horreur de la nature en disgrâce la trouble, l’épouvante, et
pourtant la fascine, la séduit!... Dans le chaos de la tempête son
âme primitive a reconnu un frère. Lorsque le vent fait rage, lorsque
la foudre luit, elle se dresse sur son piédestal d’herbe, regarde en
frémissant se tordre les rouges serpents, et livre aux folles ardeurs
de la brise son corps haletant, ses joues brûlantes. Cependant la
fureur de l’orage finit par décroître, le tonnerre espace ses
grondements. Les éclairs, plus timides, semblent des rubans d’orfroi
suspendus par instants à la voûte du ciel. De larges gouttes de pluie,
chaudes comme des larmes d’abord, plus fraîches ensuite, s’écrasent
avec bruit sur les feuilles lisses des arbres et sur le sol qui fume. A
leur contact la forêt se ranime; elle croit à la bienfaisance de cette
eau qui vient s’offrir à ses hôtes altérés... Erreur!... Précipitant sa
chute, condensant ses flots, grossissant ses torrents, l’averse, plus
destructive que le vent, fait par seconde des milliers de victimes.
C’est la verdure qu’elle hache et broie sur son passage; les
branches frêles que sa lourde chute abat, les beaux champignons
roses, argentés, vert pâle, que le fouet de ses gouttes cingle, les
hampes des digitales, les mauves clochettes des campanules, les
graciles œillets qui s’affaissent sous son poids; les troncs que
déracine le tourbillon de ses eaux; l’oiseau épeuré que sa douche
arrache de l’arbre avec son nid. Sans compter le meurtre des abeilles
qui n’ont pas eu le temps de regagner la ruche; la noyade des
hannetons, la désolante razzia des papillons flirteurs, et le naufrage
des fourmilières.
Lorsque les cataractes du ciel s’apaisèrent à leur tour et que
Sacha, ruisselante, quitta son tertre, son cœur se brisa à constater le
désastre.
Ce ne furent, de toutes parts sur sa route, que rameaux arrachés
d’où découlait la sève; feuilles lacérées, calices broyés, boules de
plumes palpitantes, œufs dispersés, cèpes et oronges meurtris...
Deux ou trois fois son pied, nu sur la sandale de trille, frôla un petit
corps doux et tiède qui haletait; c’était un écrueil, une belette, un
oiselet, un levraut imprudent que la vigilance de sa mère n’avait pas
su retenir au nid; épaves fragiles que la tempête avait soulevées
dans son noir tourbillon et rejeté brutalement sur le sol. Tout ce à
quoi Sacha put trouver un semblant de vie elle l’emporta pêle-mêle
dans un pan de sa robe.
Mais elle aussi était lamentable, la pauvre petite idole!
Dénouées par le vent, fouettées par la pluie, ses nattes en
désordre s’affalaient piteusement le long de ses épaules; sa robe
ruisselante se collait aux endroits où sa peau était nue, lui donnant
par tout le corps une pénible impression de mouillé et de froid; ses
sandales à demi détachées clapotaient sur les débris humides dont
le sol de la forêt était jonché.
Chargée des bestioles que sa pitié a recueillies, elle marche avec
peine et butte à chaque instant sur les racines que l’eau a
déchaussées.
Pourtant la voici dans l’allée des noisetiers; de quels côtés la
porteront ses pas qui hésitent? Viéra lui a dit hier qu’Evlampia
l’attend et se désole... qu’elle a promis pour fêter la venue de son
trésor un savoureux kissiel à la framboise... que Danilo a fini la cage
aux écureuils... Justement elle a là, dans un pan de sa robe, deux
petits corps roux nichés sous une queue en panache; n’est-ce pas
une disposition du Père qui veille là-haut sur ses enfants et guide
leurs pas indécis? Il y a bien loin pour retourner ainsi transie à la
datcha! Et puisque Danilo... Sacha fait claquer ses sandales sur le
sentier de la chaumière.
—Par miséricorde! C’est toi, mon cœur? Et ainsi trempée! O
Seigneur!... Viens, ma petite âme!... Enfin, je te vois! Mon trésor,
mon trésor!... Donne ça, mon amour... Ach! ce sont des écureuils,
une belette... elle a ramassé cela, la gentille! Comme elle est
pitoyable! Viens, ma colombe, nous allons te sécher. Que je suis
contente! Ah! que je suis contente de te voir, ma douce, ma dorée,
ma campanule, ma rose!
La pauvre Evlampia parlait sans trop savoir elle-même ce qu’elle
disait. Les poétiques appellations petites-russiennes lui semblaient
fades et trop peu nombreuses encore pour exprimer sa tendresse à
l’enfant retrouvée! Lentes et douces, de toutes petites larmes
roulaient de ses yeux sur ses joues, larmes de vieillard à qui la vie,
hélas! a volé toutes ses sèves.
—Sais-tu quoi, seigneuresse? Je vais te mettre mon linge et une
de mes jupes pendant que les tiens sécheront. Que tu seras jolie en
paysanne! J’ai justement là, dans mon coffre, ma robe de noce, mon
kaftane bleu et deux belles chemises que j’ai brodées quand j’étais
fille. Tu choisiras. Je ne les mets qu’à Noël et à la fête de Christ
ressuscité, mais quand il s’agit d’une barichnia comme toi, ce n’est
pas trop beau pour un jour de semaine. Regarde, milaïa, est-ce que
cela te plaît? Ah! ah! ma couronne de fleurs aussi! Peux-tu te figurer
Evlampia fiancée? Et c’est que j’étais belle, mon cœur! Tiens! voilà
mes tresses, blondes, vois, comme celles de Ioulia, et mes bottes de
safian... Oh! soupira la pauvre vieille femme, il y a longtemps que
ces choses ornaient ta servante! Son Pavel dort depuis vingt ans
dans la poussière, sa fille aussi, sa Marina a quitté le monde il y aura
tantôt six automnes, et le mari de sa fille reçoit chaque année sur sa
tombe le riz et le sel que Danilo lui porte. Il ne lui reste que ce
dernier rameau de son arbre d’amour! No! que faire? Il a plu au
Seigneur!...
Résignée comme tous ceux de sa race, Evlampia, aussitôt, cessa
de s’occuper d’elle.
—Quand tu seras habillée je pourrai croire que tu es ma fille, si
une barichnia peut permettre que l’humble paysanne songe à cela,
corrigea timidement la vieille femme. Choisis la plus belle de ces
deux chemises, celle avec les jours et la broderie bleue. Voici la
jupe; c’est ma mère qui l’a tissée. Mais puisque tu y es, mets aussi
l’écharpe à franges. Oh! ce collier, qu’il va bien à ton cou gentil! C’est
drôle, tes pieds blancs sortant d’une cotte de villageoise! On dirait
des colombes. Ah! tu veux les bottes, aussi? Les talons de cuivre
claqueront quand tu marcheras. Maintenant, s’exclama Evlampia
ravie, tu es une vraie niéviesta (fiancée)! Sais-tu? Je vais te servir le
kissiel, du miel, des merises. Mets-toi à table, ici, pas sur le banc
extérieur, car tu pourrais attraper froid, après l’averse que tu as
reçue sur le dos. Je m’en vais voir comment mes tournesols, les
pauvres, ont supporté la tempête, et ramasser un peu de bois
autour de la khata. Je serai ici dans un quart d’heure au plus; tu ne
resteras pas seule longtemps... D’ailleurs Danilko va rentrer; il est
allé ce matin à Ermino avec Schmoul pour vendre ses poteries; la
brischka repasse à cinq heures juste. Ce n’est pas l’orage ni le
déluge qui retarderaient le juif! Il doit être à la gare, au train de
Kieff, pour ramener des clients; il préférerait revenir du bourg avec
sa charrette sur son dos plutôt que de risquer les six grivienniks de
sa course! No, je sors; que Dieu soit avec toi!... Sais-tu,
seigneuresse? Danilo va croire, en te voyant, que c’est une des
belles filles qu’il fait danser les soirs de dimanche sur le préau! Cela
le fera bien rire après! Hi! hi!
Les épaules d’Evlampia se secouèrent d’une douce gaieté.
Mais lorsqu’elle fut partie, Sacha ne goûta pas tout de suite au
kissiel rose. Rêveuse, elle marcha sur ses bottes qui craquèrent vers
le coffre d’où s’échappait, à travers le couvercle soulevé, un parfum
de choses mortes. Deux nattes gisaient là, blondes comme une
quenouille de chanvre, épaisses et drues comme le blé des
moissons; deux nattes pareilles à celles qui flottaient, mêlées aux
rubans et aux fleurs de la couronne des fiancées ruthènes sur les
épaules de Ioulia.
L’idole les palpa tour à tour, ces nattes, en fit jouer une sur les
blancheurs de sa chemise, puis, résolument, elle souleva son
diadème, attacha les blonds cheveux parmi les roses déteintes,
cacha les siens sous les rubans, et s’en fut dans l’ombre de la
chambre pour se mirer au verre qui recouvrait l’icône.
La vitre grossière ne lui montra pas grand’chose de son image,
mais qu’importe? Elle caressait, ramenées sur sa poitrine, des
tresses pareilles à celles qu’elle avait vues se dorer sous le soleil
couchant le soir d’un inoubliable baiser, et, dans son rêve dément, la
Sacha des jours mauvais disparaissait, échangeant sa misère contre
la joie radieuse d’une épouse de demain!...
Le dos tourné à la porte de la chaumière, elle s’est assise sur
l’escabeau familier d’Evlampia, devant les friandises servies par la
vieille femme. Pourtant, la gelée rose qui tremble dans l’assiette ne
la tente pas. Nulle envie ne lui vient de manger les merises; le miel,
blond comme ses nattes, est joli à regarder, mais éveille à peine les
convoitises de son palais...
C’est que, brisée par les étreintes de la tempête et la douche de
l’averse, fatiguée de sa course à travers la forêt, une douce
somnolence peu à peu tente de s’emparer d’elle. Déjà ses rêveries
flottent dans une brume indécise... Ses bras sont retombés le long
de son corps comme des membres sans vie; sa tête se penche sur
sa poitrine, et ses paupières se ferment... Un mouvement de ses
épaules a rejeté une des tresses en arrière. Dans l’ombre grise de la
chaumière, Danilo lui-même la prendrait pour Ioulia!
Au dehors, aucun bruit ne trouble plus la paix du soir. Magicienne
habile, la nature a de nouveau transformé la forêt en un asile de
paix et de silence. De l’œuvre destructive de tout à l’heure, la poésie
seule reste; le feuillage fraîchement lavé est plus vert; des senteurs
plus odorantes montent de l’âme des corolles meurtries... Une ouïe
en éveil distinguerait peut-être des craquements de brindilles au
tournant du sentier; mais des oreilles qui somnolent ne s’émeuvent
pas pour si peu... Déjà le visiteur est sur le seuil de la cabane, et les
tresses blondes n’ont pas bougé. Danilo sourit en voyant là sa
fiancée. «Pourquoi dort-elle?» se demande-t-il. «Eh! après cet orage,
seule, désœuvrée...» Sur la pointe des pieds il s’approche, méditant
une niche qui saura bien tirer Ioulia de son sommeil.
Autour de la gelée branlante, quelques guêpes tourbillonnent;
d’une main le promis les chasse; de l’autre, relevant la tête de
l’endormie, il cherche de ses lèvres un coin de la peau sous la lourde
couronne et la fait tressaillir d’un amoureux baiser.
Éveillée en sursaut par cette brûlante caresse, Aleksandra
redresse son buste, dégage ses épaules des bras qui maintenant les
entourent, et tourne la tête vers celui que sa chair bouleversée a
déjà pressenti. Frémissante de surprise et de colère, elle se souvient
pourtant de ce qui a donné lieu à la brutale méprise, et, d’un
mouvement rapide, arrache sa couronne.
Avec elle les pitoyables nattes exhumées d’un tombeau de
jeunesse s’affaissent à ses pieds comme des épis fauchés, et son
visage, dépouillé des artifices dont elle l’avait paré avec amour
quelques minutes auparavant, apparaît tel que la nature l’a créé aux
regards éperdus du petit-fils d’Evlampia.
—Seigneur! C’est vous, Aleksandra Piétrovna!... Comment cela
peut-il être, par pitié? J’avais vu Ioulia, Excellence, aussi vrai que
Dieu existe, c’est elle que j’avais vue!... Je jure... Ah! qu’ai-je fait?
Seigneur! Pardonnez! barichnia.
—Tais-toi! ordonna Sacha, et va-t’en!... Moujick! ajouta-t-elle
entre ses dents serrées.
Les yeux du fier descendant des Kosaks brillèrent sous l’injure;
mais il croyait avoir mérité d’être traité ainsi; il redevint humble.
—Pardonne, seigneuresse, fit-il de nouveau, voulant baiser la
robe de l’idole qui le repoussa d’un geste impératif. Je m’accuse. Toi,
une noble! Oui... mais, je te le dis, j’avais cru voir Ioulia.
—Eh! laisse donc ta Ioulia, à la fin! cria Sacha d’une voix
rageuse. Quel rapport peut-il y avoir? Un gros, rond, vulgaire épi de
maïs, ta Ioulia! Et moi?... Ah! ah! je la hais, ta Ioulia, je la hais, je la
hais! Va-t’en!
Danilo, triste et piqué, s’en alla.
—Et toi aussi, je te hais!
Quelques instants après le départ du jeune homme, Evlampia
rentra. Elle portait dans son tablier une brassée de bois vert. Sans
déposer son fardeau, la douce vieille s’approcha d’Aleksandra.
—Que s’est-il passé, mon cœur? Tu étais dans la khata, n’est-ce
pas, quand Danilo est rentré? Eh bien, je viens de le voir passer; il
était sombre. Je l’ai appelé, il n’a pas répondu... Curieuse, j’ai suivi le
gars des yeux. Il a essuyé ses joues avec sa manche; il pleurait, mon
trésor! Lui si gai! Et fiancé!... Tu l’as grondé?
—Cela ne te regarde pas! Laisse-moi tranquille!
—Eh! je sais bien que tu es libre... Mais il est triste, mon
Danilko!...
—Et moi? jeta Sacha dans un cri de douleur sombre. Et pourtant,
est-ce que je pleure? Fi! un homme...
—Tu es triste aussi, toi, mon cœur? gémit la vieille femme, jetant
dans un coin de l’isba, pour se rapprocher de l’idole, le faix
qu’entourait son tablier. Et pourquoi, au nom du ciel, pourquoi?
—Je ne sais pas.
—Mais jeune, belle, riche!... Je pensais que les pauvres gens
seuls souffraient... Dis-moi, ma dorée, dis, pourquoi serais-tu triste?
—Parce que... parce que je me déteste, voilà!
—Quoi? fit la paysanne, écarquillant les yeux. Tu plaisantes,
barichnia! Se détester soi-même! Ah! ah!... D’ailleurs, le Dieu qui est
au ciel ne permet pas; il faut s’aimer, mon amour, et aimer son
prochain comme soi-même, les saints livres le disent. Est-ce que tu
n’as pas entendu le pope lire l’Évangile? C’est beau, la parole du
Christ: «Aimez-vous les uns les autres...» Tu aimes les arbres, les
bêtes, et tu ne t’aimerais pas toi-même, gentille comme tu l’es? Oh!
mon cœur!...
—C’est ainsi, te dis-je.
—Il ne faut pas, il ne faut pas, murmura Evlampia en dodelinant
de la tête. Et moi, je t’aime, ajouta-t-elle après un moment de
silence. Pourquoi tant que cela? C’est aussi un mystère! Mais je t’ai
vue toute petite et mignonne comme un oiselet aux plumes
naissantes... Tu ne pleurais jamais; tu regardais devant toi avec des
yeux qui avaient l’air de voir plus loin que les nôtres, à nous, les
vieux!... Puis tu t’es élancée comme une tige; tu es devenue belle; je
t’apportais du miel, des fleurs, et je t’ai aimée! Autant que Danilo,
plus peut-être, qui sait? Nous ne sommes pas les maîtres de nos
cœurs...
—Mais, moi aussi, je t’aime, fit l’idole avec effort.
—Sois bénie pour la bonne parole, mon trésor, dit la vieille
femme en enveloppant Sacha d’un regard d’infini ravissement. Tu es
bonne... Aussi tu devrais pardonner à Danilko. S’il t’a offensée, le
gars, c’est sans le savoir, bien sûr... Et songe, il pleurait! Une baba,
passe encore, mais un homme qui pleure, cela retourne le cœur!
—Il est parti...
—Mais pas loin... Quand je suis rentrée, il était près des ruches,
et là il en a toujours pour longtemps. Je l’appelle. Permets!
Un combat violent se livrait dans le cœur d’Aleksandra. Tant de
sentiments contraires l’avaient envahie, la pauvre petite idole, depuis
que Danilo était sorti de l’isba! Sentiments bien obscurs, il est vrai,
et complexes; mais impérieux comme la rafale qui venait de dompter
la forêt... Au trouble ressenti sous la caresse intruse, à sa colère
contre l’innocent promis de Ioulia, à l’ardente jalousie qui l’avait fait
crier de rage, succéda bientôt l’instinct de son injustice. Si quelqu’un
était coupable, ce ne pouvait être qu’elle, en somme, dont
l’habillement trompeur et les rêves insensés l’avaient faite pour un
instant la fiancée de Danilo. La fiancée de Danilo!... Cette chimère
encore une fois la berce! Dans les limbes confus de sa pensée, elle
prend corps, s’installe lentement, sûrement!... Puis un éclair la fait
rentrer dans le néant, et le sombre doigt de la tristesse touche de
nouveau ses plaies saignantes... Mais, quand Evlampia lui dit que
son petit-fils a pleuré, alors quel flot de pitié brûlant comme une
tendresse d’amante l’envahit! C’est son cœur tout entier que noient
les larmes du naïf et fier gars d’Ukraine. Pourtant, comment
pardonner l’affront de ce baiser, elle, une barichnia, une noble!...
Quelle honte si Danilo allait jaser!... Mais non! Elle connaît trop l’ami
de son enfance; ce n’est pas un moujick, comme elle l’a appelé
injurieusement tantôt, un vil descendant des esclaves de la glèbe!
C’est l’arrière-petit-fils d’un homme libre, d’un cavalier du steppe! Il
ne trahira pas!... Sacha arrête d’un geste le cri d’appel qui va jaillir
des lèvres d’Evlampia, et se dirige vers l’enclos de la chaumière. Elle
ira elle-même humblement chercher celui que son orgueil a chassé.
—Danilo! Danilko! Viens, frère!
La voix est légère et timide comme le murmure d’une source.
—Viens, frère! Je... te... pardonne... tu entends?
Elle touche le Petit Russien du doigt.
Danilo lève les yeux... L’expression de son visage n’est plus celle
que l’idole a connue jadis. Il est pâle, sombre, anxieux... Au lieu de
sourire comme il l’a fait après maintes querelles, ses yeux n’ont
qu’un mélancolique regard... Il n’ose baiser la main qu’Aleksandra lui
tend...
—Tu es encore fâché? C’est bien!
—Dieu m’en préserve! Non, seigneuresse; mais je suis indigne...
Et c’est vous qui venez vers moi!
—Suis-je belle? interrogea l’idole se tournant en tous sens pour
montrer sa robe de paysanne. Je te plais? Oui?... Alors, viens! Nous
allons, dit-elle mystérieusement, mettre du lait près du poële pour
les couleuvres, et nous les regarderons boire; puis nous jouerons
avec elles. Et je te montrerai des écureuils, une belette, un pivert,
que j’ai trouvés dans la forêt après l’orage. L’averse les avait presque
noyés, les pauvres! Comme c’est bien que tu aies fini la cage! Il
faudra encore en faire une, deux, plutôt, car le pivert ne peut habiter
avec la belette; elle serait capable de le croquer, la rusée!... Que
donnerons-nous ce soir aux écureuillets? Il n’y a pas de noisettes à
l’isba, et il faudrait chercher longtemps pour trouver la cachette où
leurs frères amassent des provisions pour l’année! D’ailleurs, ce ne
serait pas juste de priver ces écureuils-là pour nourrir ceux d’un

You might also like