언어/C&C++ 기본 19

[C++] ENUMS, Constructor, Destructor

ENUMS 값에다가 이름을 붙여주는 것 어떤 상태 같은 것을 지정할 때 유용하게 사용된다. int A = 0; int B = 1; int C = 2; int main(){ if(val==A){ // whatever }else if(val==B){ // whatever } } 위와 같이 만들어도 되지만 이렇게 할 경우, 매우 복잡하고, 또 각 지정값의 변동 가능성도 있다. enum Example{ // 기본적으로 int형으로 0, 1, 2... 이런식으로 배정이 된다. A, B, C; // can align numbers to each names too D=4; }; enum Example2: float{ // 이렇게 특별히 type을 지정해줄 수 있긴 하다. F=7.2; E=4.5; }; int main..

언어/C&C++ 기본 2021.07.02

[C++] Static

Static의 의미 1. class 밖에 선언된 static: means linkage to the symbol would be static. translation unit에서만 visible할 것 2. class 안: 그 변수가 모든 그 class의 instance 들에 의해 공유될 것 1. class밖에 선언된 static static int s_Var (s_는 conventionally 사용되는 static var 표시) 컴파일러는 이 translation unit에서만 static 요소의 정의를 찾으려 할 것이다. 예를 들어서 두 개의 소스파일에 각각 s_Var이라는 변수를 static하게 선언하면 문제없이 컴파일된다. 하지만 한 소스파일 (혹은 두 소스파일 모두) s_Var 변수에 static선..

언어/C&C++ 기본 2021.07.01

[C++] Class

Class https://www.youtube.com/watch?v=2BP8NhxjrO0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=18&t=14s Class란? 데이터와 기능들을 묶기 위한 것. Class를 정의하고 instance를 만들어보기 #include #include using namespace std; class Human { //definition of Human string name; int age; }; // need a semicolon at the end int main(void) { Human a; //객체(object, instance) 선언 a.name = "Tara"; a.age = 26; } 이렇게 하면 a.name과 a.age에 에러..

언어/C&C++ 기본 2021.06.25

[C++] Variables, Functions, Pointers, References

* 아래의 내용은 다음 유튜브 강의의 필기임. (이 강의 및 앞의 3강의) https://www.youtube.com/watch?v=IzoFn3dfsPA 1. Variables primitive data types - char, short(2 byte), int, long(4 byte, varies depending on compiler), long long(8 byte) - float: 4 byte - double: 8 byte 그냥 float a = 5.5 이렇게 저장하고 그 부분에 커서 올리면 double이라고 뜸.. float a = 5.5f 이렇게하면 진짜 float으로 저장됨 - bool 이 존재함 (1 byte, 메모리에 저장해야 하니까 byte 단위로 저장하게 됨) * sizeof() 사용..

언어/C&C++ 기본 2021.06.14

[C++] Linker

링커의 역할 : 심볼들과 함수들이 어디에 있는지 찾고 이들을 이어준다. (find where the symbols and functions are and link them together) In visual studio, Ctrl + F7 : compile only Ctrl + F5 : compile and link (Build) - compiling error example: syntax error - linking error example: missing entry point * 에러 메시지가 c로 시작하면 컴파일 에러이고 LNK로 시작하면 링킹 에러임. Linking Error 예시 예를 들어서, a.cpp 파일에 Log()란 함수를 declare 하고 definition은 b.cpp에 했다고 하자..

언어/C&C++ 기본 2021.06.14

[C++] Compiler

* 다음 강의 내용을 정리한 것 https://www.youtube.com/watch?v=3tIqpEmWMLI&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=6 Compile ​ C++은 파일에 대해서 신경쓰지 않는다. (자바는 디렉토리랑 파일명을 프로그램 작성자가 명시해줘야 한다. 예를 들어서 class이름은 파일명이랑 같아야 한다는 점) 코드를 작성하는 사람이 컴파일러에게 이 파일이 어떤 파일이며, 이걸 어떻게 다뤄야 할지를 직접 알려줘야 한다. ​ 예를 들어 파일 확장자를 cpp로 하면 컴파일러에게 이걸 cpp 파일이라고 이해하고 다뤄라하고 알릴 수 있음 ​ Translation Unit 컴파일러는 번역을 단위 별로 실행하는데, 컴파일러가 번역하는 단위를 tran..

언어/C&C++ 기본 2021.06.14