C++:
Łączenie łańcuchów znaków
How to: (Jak to zrobić?)
C++ oferuje kilka sposobów na łączenie łańcuchów znaków. Spójrzmy na przykłady:
#include <iostream>
#include <string>
int main() {
// Używając operatora +
std::string hello = "Hello, ";
std::string world = "World!";
std::string greeting = hello + world;
std::cout << greeting << std::endl; // Output: Hello, World!
// Używając metody append()
std::string name = "Jan";
std::string welcome = "Witaj, ";
welcome.append(name);
std::cout << welcome << std::endl; // Output: Witaj, Jan
// Używając stringstream
#include <sstream>
std::stringstream ss;
ss << hello << world;
std::cout << ss.str() << std::endl; // Output: Hello, World!
return 0;
}
Deep Dive (Głebokie zanurzenie)
Łączenie łańcuchów znaków, czyli konkatenacja, jest od dawna w C++. W wersjach przed C++11, często używano char
arrays i funkcji strcat
, ale były uciążliwe i mniej bezpieczne. Od C++11 mamy std::string
, co ułatwia życie.
Alternatywnie, używamy std::stringstream
do skomplikowanego składania tekstu, ale to może być wolniejsze. Pamiętajcie też o operator+=
, gdybyście chcieli do istniejącego łańcucha dodać coś na końcu.
Z pod kątem implementacji, operator +
tworzy nowy łańcuch, podczas gdy append()
i operator+=
modyfikują istniejący, co jest zwykle wydajniejsze.