C++:
การต่อสตริง

วิธีการ:

ใน C++, เรามีวิธีการรวมสตริงหลายวิธี นี่คือตัวอย่างการใช้ std::string และตัวดำเนินการบวก (+):

#include <iostream>
#include <string>

int main() {
    std::string hello = "Hello, ";
    std::string world = "World!";
    
    std::string greeting = hello + world;
    
    std::cout << greeting << std::endl; // แสดงผล: Hello, World!
    return 0;
}

เร็วและง่าย, ใช่ไหม? แต่เรายังสามารถใช้ append():

#include <iostream>
#include <string>

int main() {
    std::string hello = "Hello, ";
    hello.append("World!");
    
    std::cout << hello << std::endl; // แสดงผล: Hello, World!
    return 0;
}

หรือแม้กระทั่ง operator+= ถ้าคุณต้องการ:

#include <iostream>
#include <string>

int main() {
    std::string hello = "Hello, ";
    hello += "World!";
    
    std::cout << hello << std::endl; // แสดงผล: Hello, World!
    return 0;
}

ลึกซึ้งมากขึ้น

ทางประวัติศาสตร์, C++ ได้เข้ามาแทนที่ภาษา C, ซึ่งใช้แอเรย์ของตัวอักษรและฟังก์ชันเช่น strcat() สำหรับการจัดการสตริง ซึ่งมันยุ่งยากและมีโอกาสเกิดข้อผิดพลาดมากกว่า

C++ สมัยใหม่ได้ปรับปรุงสภาพแวดล้อมด้วย std::string ซึ่งปลอดภัยกว่า, ง่ายต่อการอ่าน, และให้ตัวเลือกเพิ่มเติม ถ้า std::string ไม่ใช่ทางของคุณ, ก็ยังมี std::stringstream หรือแม้กระทั่ง std::format (จาก C++20) สำหรับผู้ที่ชอบการจัดรูปแบบ

ในการทำงานระดับลึก, การรวมสตริงเกี่ยวข้องกับการจัดสรรหน่วยความจำและการคัดลอก หากทำอย่างไม่ระมัดระวัง, สามารถทำให้ประสิทธิภาพของโปรแกรมของคุณลดลงอย่างมาก อัจฉริยะพอยน์เตอร์และ move semantics ช่วยบรรเทาความเจ็บปวดได้บ้าง

อย่าลืมเกี่ยวกับทางเลือกอื่นๆ - ไลบรารี่เช่น Boost, หรือการจัดการ UTF-8 ด้วย std::string_view สำหรับการดำเนินการโดยไม่ต้องคัดลอกบน C++ สมัยใหม่

ดูเพิ่มเติม