안녕하세요! 이번에는 C++에서의 std::string과 char 배열의 차이를 비교해보려고 합니다. C++에서 문자열을 표현하는 두 가지 방법인 std::string과 char 배열은 각각 장단점을 가지고 있습니다. 이 글에서는 두 방법의 동작 원리, 메모리 할당, 문자열 조작 등 다양한 측면을 비교해보면서 어떤 상황에서 어떤 방법을 선택해야 하는지 알아보겠습니다. std::string: 유연하고 편리한 문자열 클래스 std::string은 C++ 표준 라이브러리에서 제공하는 문자열 클래스입니다. std::string 객체는 동적으로 메모리를 할당하여 문자열을 저장하므로, 문자열의 길이에 따라 자동으로 크기가 조절될 수 있습니다. 이는 필요한 만큼의 메모리만 사용하므로 메모리의 낭비를 최소화할 수 있습..
이번 시간에는 int main()과 int main(void), 그리고 void main()의 차이점에서 설명하겠습니다. // 1번 항목 int main() { return 0; } // 2번 항목 int main(void) { return 0; } 위에 작성한 1번 항목과 2번 항목의 차이점은 무엇일까요? 사실 C나 C++에서 모두 작동합니다. 다만, C에서는 매개변수로 void가 존재하는 것, 즉 int main(void)가 매개변수를 넣지 않고서만 작동을 하기 때문에 기술적으로 더 나은 것으로 판단합니다. C에서는 함수의 매개변수를 지정하지 않으면 이는 여러 매개변수를 사용하거나, 매개변수 없이 모두 사용가능함을 의미합니다. 예를 들어, // 1번 항목 void mat() { } int main(v..
C는 절차적 프로그래밍 언어입니다. Dennis Ritchie가 운영체제를 작성하기 위한 시스템 프로그래밍 언어로 개발했습니다. C 언어 주요 기능은 메모리에 대한 저수준 액세스를 담당하고 있으며, C언어를 운영체제 또는 컴파일러 개발과 같은 시스템 프로그래밍에 적합합니다. 이후의 많은 언어는 C 언어에서 직접적으로 혹은 간접적으로 구문/기능을 차용했습니다. Java의 구문과 마찬가지로 PHP, JavaScript 및 기타 여러 언어는 주로 C 언어를 기반으로 합니다. C++는 C 언어의 상위 집합입니다. C 프로그램 구조 C 프로그램의 구조는 다음과 같습니다. 1. include Header : C 언어로 작성되 프로그램에서 가장 중요한 요소는 헤더 파일을 포함하는 것입니다. 헤더 파일은 여러 소스 파..
Exception Type Description Exception .NET Framework에서 모든 예외들의 Main 클래스 AmbiguousMatchException 클래스를 호출했는데, 어떤 클래스인지 확인할 수 없을 때 발생 ArgumentException 메서드의 Argument(Parameter)가 유효하지 않을 때 발생 ArgumentNullException 메서드의 Argument가 허용할 수 없는 null Reference 일 때 발생 ArgumentOutOfRangeException 메서드의 Argument가 허용할 수 없는 범위 외의 값일 때 발생 AppDomainUnloadedException 로드되지 않은 어플리케이션 도메인에 접근하려고 할 때 발생 ArithmeticExcepti..