#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
int main() {
// Pierwsza tablica z 3 stringami.
std::string *tab1 = new std::string[3];
for (size_t i = 0; i < 3; ++i) {
tab1[i] = "ala ma kota";
}
std::cout << "tab1 przed:" << std::endl;
// Wypisanie tab1.
for (size_t i = 0; i < 3; ++i) {
std::cout << tab1[i] << '\n';
}
// Druga tablica na 5 stringow.
std::string *tab2 = new std::string[5];
// Kopiowanie 3 stringow z tab1 na poczatek tab2.
std::memcpy(tab2, tab1, 3 * sizeof(std::string));
//std::copy(tab1, tab1 + 3, tab2);
// Wpisanie nowego tesktu do skopiowanych elementow i reszty tablicy.
for (size_t i = 0; i < 5; ++i) {
tab2[i] = "kot ma aids";
}
std::cout << "tab1 po:" << std::endl;
// Wypisanie tab1 po "kopiowaniu".
for (size_t i = 0; i < 3; ++i) {
std::cout << tab1[i] << '\n';
}
std::cout << "tab2 przed usunieciem tab1:" << std::endl;
// Wypisanie tab2.
for (size_t i = 0; i < 5; ++i) {
std::cout << tab2[i] << '\n';
}
// Usuniecie starej tablicy.
delete [] tab1;
std::cout << "tab2 po usunieciu tab1:" << std::endl;
// Wypisanie tab2.
for (size_t i = 0; i < 5; ++i) {
std::cout << tab2[i] << '\n';
}
delete [] tab2;
return 0;
}