C++ String Append

main.cpp
#include <iostream>
#include <string>
#include <type_traits>
 
template <typename T>
void append(std::string& str, T with) {
    // Жесткая проверка типа на этапе компиляции
    static_assert(std::is_arithmetic_v<T> || std::is_convertible_v<T, std::string>, 
                  "Ошибка: Тип должен быть числом или строкой!");
    if constexpr (std::is_convertible_v<T, std::string>) {
        str += with;
    } else {
        str += std::to_string(with);
    }
}
 
int main()
{
    std::string t = "";
    append(t, "Hello ");
    append(t, "World!");
    append(t, 98L);
    std::cout << t << std::endl;
    return 0;
}
  • works/programmer/cpp-string-append.txt
  • Последнее изменение: 2026/07/14 21:34
  • Eugene