Zaawansowane CPP/Ćwiczenia 8: Metaprogramowanie
Ćwiczenie 1
Napisać szablon funkcji lub klasy wyliczający funkcję silnia:
Ćwiczenie 2
Zmodyfikować szablon Sqrt
tak aby liczył
całkowite przybliżenie logarytmu liczby o dowolnej całkowitej
podstawie . Logarytm z liczby przy podstawie
oznaczany to rozwiązanie równania:
Ćwiczenie 3
Wymyśl i zaimplementuj jako metaprogram, szybszy algorytm funkcji pow(x)
.
Ćwiczenie 4
Napisz szablon generujący, pierwsze wyrazów rozwinięcia funkcji :
Ćwiczenie 5
Napisz szablon generujący funkcję implementującą iloczyn skalarny dwu wektorów. Parametrem szablonu ma być dlugość mnożonych szablonów.
Ćwiczenie 6
Napisz szablon generujący funkcję implementujący iloczyn macierzy i wektora o elementach:
void matrix_v<N>(double *A,double *v,double *u)
powoduje obliczenie:
Tablica jest reprezentowana w pamięci zgodnie z konwencją , tzn. elementowi odpowiada .