[c++] C++에서의 정규 표현식과 연산자 오버로딩
C++은 풍부한 기능을 제공하는 강력한 프로그래밍 언어입니다. 오늘은 C++에서의 정규 표현식(Regular Expressions)과 연산자 오버로딩(Operator Overloading)에 대해 알아보겠습니다.
정규 표현식(Regular Expressions)
정규 표현식은 텍스트에서 패턴을 식별하고 추출하기 위해 사용됩니다. C++11부터는 <regex>
헤더를 이용하여 정규 표현식을 지원하고 있습니다. 다음은 간단한 예제 코드입니다.
#include <iostream>
#include <regex>
int main() {
std::string text = "Hello, World!";
// 정규 표현식을 이용하여 'Hello'가 있는지 판별
std::regex pattern("Hello");
if (std::regex_search(text, pattern)) {
std::cout << "Pattern found." << std::endl;
} else {
std::cout << "Pattern not found." << std::endl;
}
return 0;
}
연산자 오버로딩(Operator Overloading)
C++은 사용자 정의 데이터 타입에 대해 연산자를 재정의(오버로딩)할 수 있는 기능을 제공합니다. 다음은 연산자 오버로딩의 예제 코드입니다.
#include <iostream>
class Complex {
private:
float real;
float imaginary;
public:
Complex(float r, float i) : real(r), imaginary(i) {}
Complex operator+(const Complex& c) {
return Complex(real + c.real, imaginary + c.imaginary);
}
void display() {
std::cout << real << " + " << imaginary << "i" << std::endl;
}
};
int main() {
Complex num1(2.3, 4.5);
Complex num2(1.2, 3.4);
Complex result = num1 + num2;
result.display();
return 0;
}
결론
이상으로 C++에서의 정규 표현식과 연산자 오버로딩에 대해 알아보았습니다. 정규 표현식을 사용하면 텍스트 처리를 보다 효과적으로 할 수 있고, 연산자 오버로딩을 통해 사용자 정의 클래스에 대한 연산을 지원할 수 있습니다.
더 많은 정보는 C++ Reference에서 확인할 수 있습니다.