cpp
cpp copied to clipboard
New Exercise Idea: Template parameter packs
With the new v3 concepts I though it would be good to focus more on C++ specific ideas which aren't currently covered in the exercises. Here's some example solution code for the exercise:
#include <iostream>
#include <sstream>
// Should be able to take in any length/ type of arguements
template <typename... Args> std::string concat(Args... args)
{
std::stringstream output;
((output << std::forward<Args>(args) << ","), ...);
return output.str();
}
int main() {
std::cout << concat(123, "test") << std::endl;
// Prints: "123, test,"
return 0;
}
Wanted to run this by other people before I went and created a whole exercise around it.
Also FYI the "Please see the contributing guide" in the README is a broken link.
That sounds like a topic for a "Concept exercise", with some explaining paragraphs and 2-5 simple tasks that would take an experienced C++ programmer 5-15 minutes.
Currently the C++ track has only one of those (https://github.com/exercism/cpp/tree/main/concepts/strings) and IIRC it's not yet live.