Skip to content

New Exercise Idea: Template parameter packs #501

Open

Description

@JC-13

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.

Activity

  1. siebenschlaefer commented on Nov 9, 2021

    @siebenschlaefer
    Contributor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions