cpp icon indicating copy to clipboard operation
cpp copied to clipboard

New Exercise Idea: Template parameter packs

Open JC-13 opened this issue 4 years ago • 1 comments

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.

JC-13 avatar Nov 09 '21 03:11 JC-13

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.

siebenschlaefer avatar Nov 09 '21 14:11 siebenschlaefer