#include <iostream>
#include <vector>
#include <string>
/*
This program demonstrates the C++ equivalent of Delphi's:
var
StringList: TStringList;
for str in StringList do
In C++, the closest natural structure is a std::vector<std::string>
(or any standard container), and the loop becomes a range‑based for.
The program is fully commented and uses functions to keep the logic clear.
*/
// ------------------------------------------------------------
// Function: buildList
// Purpose: Creates and returns a list of strings.
// ------------------------------------------------------------
std::vector<std::string> buildList() {
// Using std::vector because it is the most common and efficient
// dynamic sequence container in C++.
std::vector<std::string> items;
// Add some sample strings.
items.emplace_back("Alpha");
items.emplace_back("Bravo");
items.emplace_back("Charlie");
items.emplace_back("Delta");
return items;
}
// ------------------------------------------------------------
// Function: printList
// Purpose: Iterates through the list and prints each element.
// ------------------------------------------------------------
void printList(const std::vector<std::string>& items) {
// This is the C++ equivalent of Delphi's:
// for str in StringList do
//
// The range-based for loop is expressive, safe, and efficient.
for (const std::string& str : items) {
std::cout << str << '\n';
}
}
// ------------------------------------------------------------
// main
// ------------------------------------------------------------
int main() {
// Build the list of strings.
auto list = buildList();
// Print all items.
printList(list);
}
/*
run:
Alpha
Bravo
Charlie
Delta
*/