char * buff = new char [first.size() + second.size() + 1];
for(std::size_t i = 0; i <= first.size(); ++i){
buff[i] = first.str_buff[i];
}
for(std::size_t t = first.size(), x = 0; x <= second.size(), t <= (first.size() + second.size()); ++t, ++x){
buff[t] = second.str_buff[x];
}
return buff;
можно memcpy заюзать
return std::string{first + second}; или в чем подвох
Это использование уже готового тулчейна =) Мне интересно создание своего и понять, как это работает
Оба цикла меняются на std::copy
Свою строку человек пишет
Вот это заманчивая штука, нужно будет посмотреть есть ли у него перегрузка под char *
Это сишный подход и очень сильно сишный
ну как ты не крути, кресты это наследник старого доброго си, поэтому так или иначе ты будешь применять сишные подходы
В минимальном количестве. Другое дело, что не любая сишность должна иметь замегу в плюсах
почитайте Липпмана, там рассказывается простыми словами как сделать свой контейнер на примере std::string и std::vector
Обсуждают сегодня