Co byś nie robił i tak jesteś na przegranej pozycji. Dla danych: litery “01”, długość 3 mój program po rozwiązaniu szablonów jest równoważny z
#include
#include
int main() {
std::ios_base::sync_with_stdio(false);
const std::string chars("01");
char str[4];
str[3] = '\n';
for (char c0 : chars) {
str[0] = c0;
for (char c1 : chars) {
str[1] = c1;
for (char c2 : chars) {
str[2] = c2;
std::cout.write(str, 4);
}
}
}
return 0;
}
Każda dodatkowa operacja dereferecji wskaźnika, czy kopiowania pamięci tylko spowalnia twój program.