호빵의 IT 개발소

C++ String과 C# String의 차이점은? 본문

CS(전공지식)/기술면접 준비

C++ String과 C# String의 차이점은?

호빵Stack 2025. 3. 28. 22:28
C++ std::string vs C# string 차이점 요약
  • 가변성
    • C++: std::string은 가변(mutable) → 문자열 변경 가능
    • C#: string은 불변(immutable) → 변경 시 새로운 문자열 생성
  • 메모리 관리
    • C++: 직접 메모리 관리, 필요 시 수동 처리
    • C#: 가비지 컬렉션에 의해 자동 관리
  • 문자 인코딩
    • C++: 기본적으로 ASCII 또는 환경에 따라 다름
    • C#: UTF-16 기반 (유니코드 지원 기본)
  • 클래스 기능
    • 둘 다 문자열 조작 함수 제공하지만,
      • C++: append(), substr(), 연산자 오버로딩 등
      • C#: Substring(), Replace(), Split() 등 메서드 풍부 + LINQ 사용 가능

 

 

면접 스타일 답변 예시:

C++의 std::string은 가변 타입으로 문자열을 직접 수정할 수 있는 반면 C#의 string은 불변 타입이어서 문자열을 변경할 경우 새로운 인스턴스를 생성하게 됩니다.
또한 C++은 메모리를 직접 관리하는 반면 C#은 가비지 컬렉션을 통해 자동으로 메모리를 관리합니다.
문자 인코딩 면에서도 C++은 시스템 환경에 따라 달라질 수 있지만 C#은 기본적으로 UTF-16을 사용해 유니코드를 안정적으로 처리합니다.
이러한 차이로 인해 문자열 처리 성능이나 동작 방식에서 중요한 영향을 미치게 됩니다.
Comments