목록C++ (21)
UD_park's IT story
이번에는 C / C++ / C#의 발전과 임베디드에 대해서 알아보는 포스팅을 진행해보도록 하겠습니다 C언어에 대해서 먼저 알아보겠습니다 C언어는 1971년에 설계되고 개발된 시스템 기술용 프로그래밍 언어입니다 지금 사용하고있는 C 언어의 대부분의 틀이 이때 생겨난 부분들이고 현재는 계속 발전중입니다 많이들 C와 Java의 차이점에 대해 궁금해 하실 것입니다 C는 절차지향 언어이고, Java는 객체지향 언어 입니다. 절차와 객체에 대해서 조금 더 상세하게 설명을 하자면은 절차지향은 바로 프로그램이 코딩된 코드들을 위에서부터 아래로 순서대로 쭉 실행되어 내려갑니다 만약 절차지향 언어에서 오류가 난다면 간혹 오류난 부분부터 그 이후 부분까지 모두 수정해야하는 경우가 있곤합니다. 객체지향 언어는 여러가지 상황이..
이번에 다룰 오류는 바로 scanf입니다 제가 다루고 있는 C++이나 C#에서 자주 사용되는게 아니라 C에서 값을 입력받을 때, 자주 사용되는 함수 입니다 일단 오류 표시줄을 보면서 설명 이어가도록 하겠습니다 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 이어서 Visual Studio의 오류 목록의 화면으로 내용을 파악해보겠습니다 위와 같이 오류가 발생하면 그럼 어떻게 해결해야 하는지에 대해 이야기를 시작해 보겠습니다 ..
이번에는 string 사용에서 발생할 수 있는 에러 발생 상황에 대한 해결 방법에 대해 포스팅해보도록 하겠습니다 이번 오류는 C++과 Microsoft SQL Server 2008 R2 SP2 Express을 연동하는 연습 예제 코드 작성하다가 발생한 오류로서, string으로 문자열을 받는 상황에서 문자열이 길어져 발생했습니다 먼저 아래의 오류 표시줄의 내용부터 살펴보도록 하겠습니다 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 C2664 'void ProcessLogMessage(HENV,HDBC,HSTMT,char *)': 인수 4을(를) 'const char [26]'에서 'char *'(으)로 변환할 수 없습니다. DBconnectConsole c:\users..
첫 번째 Error 포스팅에 대한 글입니다 깊은 복사와 얕은 복사에 대한 보기 예제 코드 소스를 작성하던 중에 발생했던 오류입니다 먼저 아래의 오류 표시줄부터 보시겠습니다 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. DeepCopyShallowCopyApply c:\users\test\source\repos\0614\deepcopyshallowcopyapply\de..
(학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] 이번에는 정말 많은 시간을 투자하여 이해하고 익힌 복사 생성자(Copy Constructor)에 대해서 포스팅 해보겠습니다 일단 복사 생성자에 대한 정의는 다음과 같습니다 객체의 본사본을 생성할 때 호출되는 생성자 - 클래스를 작성할 때 복사 생성자를 생략하면 디폴트 생성자처럼 컴파일러가 알아서 만들어 사용함 (반대로 복사 생성자를 적용하지 않으면 심각한 문제 발생할 경우도 존재함 - 클래스 내부에서 메모리를 동적 할당 및 해제하고 이를 멤버 포인터 변수로 관리하고 있는 경우) 글을 쓰고있는 저도 어려워 머리가 아프려고 합니다 일단은 사용 문법 형태를..
(학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] 이번에는 정말 어려운 개념이자 사용법인 This Pointer에 대한 포스팅을 해보겠습니다 This pointer의 정의란 다음과 같습니다 ① 작성 중인 클래스의 실제 인스턴스에 대한 주소를 가리키는 포인터 ② 멤버 값의 주소를 this가 불러서 값을 읽어오는 형태 ③ 자기 자신을 return 할 때 사용함 솔직히 저는 이렇게 정의해도 무슨 말인지 정확하게 이해가 잘 되지 않았었습니다 그래서 제가 공부하고있는 "이것이 C++이다"의 예제 코드를 한 줄 한 줄 해석하고 설명과 비교하며 해독해서 간신히 이해했습니다 그럼 소스 코드를 보며 쉽게 설명해드리겠..
(학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] 이번에는 객체에서 정말 많이사용되고 실무나 학업의 프로젝트 등에서도 정말 많이 활용되어지고 있는 메소드(Method)에 대해서 포스팅 해보겠습니다 첫 번째로 메소드 (Method)란? 메소드의 사전적인 의미는 방법과 수단을 나타냅니다 C++에서는 클래스의 멤버 함수를 메소드(Method)라고 한다 (멤버 함수 == 메소드) 이 개념을 쉽게 표현 하고자 한다면 예를 들어 스마트폰이라는 객체는 메신저, 통화, 게임, 인터넷이라는 기능이 있습니다 그것을 표현하면 스마트폰 갤럭시노트8; 갤럭시노트8.메신저(); 갤럭시노트8.통화(); 갤럭시노트8.게임(); ..
이번에는 한꺼번에 많은 내용들을 간단하고 쉽게 설명하는 포스팅을 해보겠습니다 (학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] ① 생성자와 소멸자 ② 생성자의 다중정의 ③ 명시적 디폴트 생성자 ④ 변환 생성자 이번 포스팅에 다룰 내용이 많아서 좀 길어질 수도 있겠네요 일단 ① 생성자와 소멸자에 대해서 설명을 해보겠습니다 간단한 설명으로 시작해보겠습니다 생성자와 소멸자는 클래스 객체가 생성 및 소멸될 때 '자동'으로 호출되는 함수입니다 사용법은 다음과 같습니다 class 클래스이름 { 접근제어지시자: 클래스이름(); // 이게 생성자 { } ~클래스이름(); // 이게 소멸자 { } } 그리고 매개 변..
(학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] 이번 포스팅에서는 불리는 auto에 대해서 기본적인 개념과 사용법을 포스팅해보도록 하겠습니다 일단 auto란 제가 싫어하는 어려운 말로하자면 이전 C에서 정의했던 기억 분류 지정자라고 합니다 듣기만 했을 뿐인데 메멘토의 주인공이 된 기분이네요 쉽게 간략하게 설명하자면 auto temp;라고 temp라는 변수 그릇을 auto로 만들고 그곳에다가 10을 넣으면 auto는 int의 역할을하고 "김"을 넣으면 auto는 char의 역할을 하고 "홍길동"을 넣으면 auto는 string의 역할을 합니다 사진으로 예시를 보여드리겠습니다 코드로 표현하자면 auto..
(학습 서적 이것이 C++이다에서 내용 발췌하였습니다) [보기용 예제 소스 코드에서 오류 발생시에 댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다] typedef란 무엇일까요? 인터넷에 찾아봐도 죄다 어려운 말들만 쓰면서 설명해놓으니.. 저는 설명을 읽어도 너무 어렵더군요.. 그래서 제가 직접 열심히 알아보고 공부해서 이해한다음 저같은 불상사가 일어나지를 않기를 바라며 정말 정말 쉽게 설명을 해드리겠습니다 typedef란? 재정의 함수라고 합니다 쉽게 말해 말 줄여서 쓰는 어린 친구들이라고 저는 생각했습니다 이게뭔 소리야 하시는 분들은 제 얘기 마저 들어보세요 예를들어 typedef string a; 라는 코드줄을 해석하자면 typedef란 어린 친구가 string를 이제부터 a라고 부르겠다는거에..