Small Project Organization
Config Defaults
A small settings struct keeps related project defaults together.
Config Defaults
config_defaults.cpp
#include <iostream>
struct Settings {
int retries;
int timeout;
};
int main() {
int requestedTimeout = ;
Settings settings{3, requestedTimeout};
int totalWait = settings.retries * settings.timeout;
std::cout << "retries=" << settings.retries << std::endl;
std::cout << "timeout=" << settings.timeout << std::endl;
std::cout << "totalWait=" << totalWait << std::endl;
return 0;
}
#include <iostream>
struct Settings {
int retries;
int timeout;
};
int main() {
int requestedTimeout = ;
Settings settings{3, requestedTimeout};
int totalWait = settings.retries * settings.timeout;
std::cout << "retries=" << settings.retries << std::endl;
std::cout << "timeout=" << settings.timeout << std::endl;
std::cout << "totalWait=" << totalWait << std::endl;
return 0;
}
#include <iostream>
struct Settings {
int retries;
int timeout;
};
int main() {
int requestedTimeout = ;
Settings settings{3, requestedTimeout};
int totalWait = settings.retries * settings.timeout;
std::cout << "retries=" << settings.retries << std::endl;
std::cout << "timeout=" << settings.timeout << std::endl;
std::cout << "totalWait=" << totalWait << std::endl;
return 0;
}
settings
Grouping configuration values in a struct makes the data easy to pass and inspect.
defaults
Defaults should be explicit so later calculations can use one named source of truth.