Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1114281
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T02:59:02+00:00 2026-05-17T02:59:02+00:00

What is the meaning of generic programming in c++? Also, I am trying to

  • 0

What is the meaning of generic programming in c++?

Also, I am trying to figure out what container, iterator, and different types of them mean.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T02:59:03+00:00Added an answer on May 17, 2026 at 2:59 am

    Generic programming means that you are not writing source code that is compiled as-is but that you write “templates” of source codes that the compiler in the process of compilation transforms into source codes. The simplest example for generic programming are container classes like arrays, lists or maps that contain a collection of other objects. But there’s much more to generic programming. In the context of C++ (and called meta programming) it means to write programs that are evaluated at compile time.

    A basic example of generic programming are templates of containers: In a statically typed language like C++ you would have to declare separate containers that hold integers, floats, and other types or deal with pointers to void and therefore losing all type information. Templates which are the C++ way of generic programming leverage this constraint by letting you define classes where one or more parameters are unspecified at the time you define the class. When you instance the template later you tell the compiler which type it should use to create the class out of the template. Example:

    template<typename T>
    class MyContainer
    {
        // Container that deals with an arbitrary type T
    };
    
    void main() 
    {
        // Make MyContainer take just ints.
        MyContainer<int> intContainer;
    }
    

    Templates are generic because the compiler translates the template into actual code. Note that in the case you don’t instantiate your template no code will be generated for it at all. On the other hand, if you declare a MyContainer<int>, a MyContainer<float>, and a MyContainer<String> the compiler will create three versions of your code each of them having a different type. There will be some optimizations involved but basically your template code will be instantianted to three new types.

    Iterators are a design pattern that were popularized in the seminal book “Design Patterns” by Gamma et al. It’s a pattern to iterate over the content of a container class. Unlike using a for-loop an iterator is an instance of a class that points to a member of the container and gives you an unified interface to traverse the container as well as accessing the members. Take look at this example:

    // Instanciate template QList with type int
    QList<int> myList;
    
    // put some ints into myList
    
    // Copyconstruct iterator that points to the
    // first member of the list.
    QList<int>::iterator i = myList.begin();
    
    // Iterate through the list 
    while (i != myList.end()) {
      std::cout << *i << std::endl;
      i++;
    }
    

    In this C++ example I’m instantating a template QList with type int. QList a container class that stores a list of objects. In this example we will use it to store integers.

    Then I create an iterator i to traverse through the list. myList.begin() returns an iterator that points to the first element of the list. We can compare the iterator with another iterator myList.end() that points after the last element of the list. If both iterators are the same we know that we have passed the last elment. In the loop we’re printing the element by accessing it with *i and go to the next element with i++.

    Note that in this example * and ++ are overloaded operators and reimplemented by the iterator class. In a programming language without operator overloading there could be methods like i.element() or i.next() that do the same task. It’s important to see that i is not a pointer but a whole class that just mimics the behaviour of a pointer.

    What’s the benefit of iterators? They provide a unified way to access the members of a container class, completely indepented on how the container class is implemented internally. No matter if your want to traverse a list, map or tree, the iterator classes (should) always work the same way.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

What is the meaning for $! in shell or shell scripting? I am trying
I am trying to create a generic UITableView in my iPhone app. I have
I am trying to understand the meaning and use of the param parameter in
...meaning pattern in its general English usage, not specific to OO design patterns. Given
Meaning: A user auth's to an application -> application sets the namespace of the
What meaning has <E> on the code Collection<E> ?
Can't understand the meaning of this phrase. People on forums suggests each other to
What is meaning of Use Custom Permissions check-box in Magento installer? version 1.7.0.0
What is the meaning of the OVER clause in Oracle?
What is the meaning of a ^ sign in a URL? I needed to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.