컴퓨터 수업/C++(39)
-
선언과 정의
C++ 에서는 종종 선언(declaration)과 정의(definition)이라는 용어를 사용한다. 두 가지의 차이점을 알아보자. *정의(definition)는 식별자(identifier)를 실제로 구현하거나 인스턴스화(메모리 할당) 한다. * 출처: https://boycoding.tistory.com/143 [소년코딩] -> 식별자(identifier)라는 단어가 클래스가 인스턴스화 되기 전의 상태를 의미한다고 생각해보자.
2020.09.10 -
C++ include style, 설명하면서 자연스럽게 linker와 preprocessor
@솔루션 -> 프로젝트 -> 소스코드 순으로 위계가 존재한다. 소스코드의 확장자는 주로 cpp인데. 보통 메인함수가 cpp에 존재한다. 따라서 cpp에서 헤더를 include 하므로 헤더에선 cpp를 include 할 필요가 없다. *20200910 추가) @정의와 선언 cpp에는 정의, h에는 선언이라 생각하자 (식별자 identifier) (인스턴스화 되기 전의 클래스) class.h와 function.h가 존재한다고 생각해보자, class.h에는 특정 class의 내용, function에는 사용자 지정 함수 (not 멤버 함수) @ 실제 사례 이때 main.cpp에는 구동 내용만 적으며 맨 위에 #include "class.h" , #include "function.h" 그리고 class.h에는 c..
2020.09.09 -
나는 포인터가 싫어요. (포인터변수와 참조자를 함수에 인자로 주고받는 것에 대해.)
이 포스트는 C를 기반으로 작성되었습니다. @변수의 종류를 알아보자. 1.일반변수 ex) int x; --> 일반변수를 저장합니다. 2.포인터변수 ex) int * px; --> 메모리주소를 저장합니다. 3.참조자변수 ex) int & rx; --> 도플갱어를 저장합니다. @선언과 초기화, 그리고 정의를 풀어서 읽어보자. 1.일반변수 //선언과 초기화 int x; // 선언 x = 10;// 초기화(할당) 위와 같이 변수는 "선언"과 "초기화" 2단계로 나누어서 결정합니다. 이를 동시에 하는 행위를 "정의"라고 합니다. //동시에 int x = 10; // 정의 2.포인터변수 먼저 포인터변수를 선언과 초기화 2단계로 나누어서 설정하자면 (먼저 x가 정의되었다고 가정합시다.) //선언과 초기화 int * ..
2020.09.03