Hello Ibra!
I hope you are able to keep your head together and your wits about you.
By chimera, do you mean "an imaginary monster compounded of incongruous parts" or "an illusion or fabrication of the mind" or simply "an unrealizable dream"?
I've been using the iterators for traversing vectors, maps, lists, etc ... utilizing the begin() and end() member functions. Most of the "fun" has been exploring tricky parts with gdb (with added Python interface .gdbinit with
STL Views).
It is within the gdb that I am able to make some sense of it. The iterators are the new incarnation of "pointers" - a phenomenon which appeals to me for they answer the problem of traversing through a sequence. Using gdb, you can get a little creative (and even go mad in a fun way), just satisfying your curisoity:
Iterators: how to display the item the iterator points at: print *(iter._M_current)
_______________________________________________________________________
Over the past week or so, I was using the <regex> library for text manipulation and am now going over "Numerics," a topic I am especially interested in. I am trying to learn enough so as to rework exercises from old 1960's and 1980's texts with many novel exercises which I wish to rework using modern C++ (STL and generic programming) ... so I work in phases, a couple weeks concentrating on modern C++ and using the STL, and then a week or so on the Analysis project ...
With -std=c++17, you can access the elements in containers in a rather elegant manner using the STL containers, even when those containers hold elements that are your own homegrown types.
suppose you had a vector of pairs<int, string>:
std::vector<std::pair<int, std::string>> pairs;
After you fill the vector with pairs of {int, string}, you can access as follows:
int count = 0;
for (const auto& [i, s] : pairs) {
++count;
std::cout << "Pair #" << count << ": The integer is " << i << ", and the string is " << s << '\n';
}
Without that, you could just as easily write:
int count = 0;
for (const auto& p : pairs) {
++count;
std::cout << "Pair #" << count << ": The integer is " << p.first << ", and the string is " << p.second << '\n';
}
The vectors are very useful. I'll be checking out a Matrix library, although I am not sure I will want to rework many of the Linear Algebra related programs I have already written unless there was a huge benefit, that is, as a learning experience ... Actually, come to think of it, even though it was a few years ago, I did build a few programs for solving linear equations
(Ax = b) using STL <vector>. It builds the matrices from scratch as a vector<vector<Fraction> > so that the results (and the work) were printed in rational form, whcih was cool to work side by side with paper and pencil.
As for Micro$oft and Money-Oriented Programming (or even Spying-Oriented software), yes, I'm sure the merry men are continuing to do as their told to please thier masters.
The Standard Template Library is worth tinkering with, at least with vectors.
I don't know what even motivates me to forge ahead. What else to do but peck away ... I don't want to be entertained. I find that sometimes I can catch these moods while working "in my own little world" where I actaully "lose myself," that is, I momentarily forget who I am ... and just become one with the task, the exploring ... the learning.