[공부/C++] - C++ 프로그래밍, 네임스페이스 namespace란? C++ 프로그래밍, 네임스페이스 namespace란? 네임스페이스(namespace) 말 그대로 공간의 이름이다. 어떤 공간을 정의하는데 거기에 이름을 정해준다고 생각하자. 네임스페이스가 다르다는 것은 서로 다른 공간에서 존재한다는 것이다. 이름이 다른 공간이니.. minmong.tistory.com 안녕하세요 민몽입니다 :) 오늘은 C++ 프로그래밍 입력(input)에 대해서 공부합시다. 키보드로 받은 입력을 해보자 C 스타일 입력 scnaf char firstEnglish[20]; scanf("%s", firstEnglish); 키보드로부터 스트링을 읽어서 firstEnglish에 넣어준다. 이렇게 사용할 경우 안전하지 않다. ..
네임스페이스(namespace) 말 그대로 공간의 이름이다. 어떤 공간을 정의하는데 거기에 이름을 정해준다고 생각하자. 네임스페이스가 다르다는 것은 서로 다른 공간에서 존재한다는 것이다. 이름이 다른 공간이니까 다른 공간안에 동일한 거 같은 게 있어도 무방하게 된다. 공간 A에 a함수와 공간 B에 a함수는 다르다. 코드를 통해서 이해 해보자. namespace 이름 충돌을 피하기 위해 함수 클래스 기타 등등 namespace hello { void PrintHelloWorld(); } 'hello'라는 공간에 'PrintHelloWorld()' 함수가 존재한다. namespace가 없었을 때에 동일한 함수명을 사용하면 어떻게 될까? //Hello1.h void SayHello(); //Hello2.h v..
안녕하세요 민몽입니다 :) 게임 개발을 할 때에 많이 사용하고 있는 C++ 언어에 대해서 알아보려고 합니다. 제가 일 하면서 사용하고 있는 언어이기도 합니다! 이번 기회에 복습 및 새로운 개념 정리를 해보려고 합니다. 'Hello World' 프로그래밍 책에서 가장 먼저 하는 출력문이죠? 이건 C 언어 방식의 출력문인데요. printf("Hello, %s%d\n", "World", 123) C 출력문 사용하기 불편하다 or 어렵다. 읽기가 어렵다. 이 방식이 여전히 많이 사용되고 있는 거 같아요. 저도 같은 포맷으로 string을 만들어서 아직 쓰고 있습니다. "%s", %d 는 string 출력 type의 인수를 지정하는 것인데요. 뒤에 인자값으로 변경되어서 출력이 됩니다. 즉 %s는 -> "World..
타입을 명시적으로 쓰지 않아도 코드에 맞게 자료형을 추론해 주는 키워드 컴파일러가 컴파일하는 과정에서 실제로 자료형을 결정한다. 컴파일 단계에서 결정을 해야 하기 때문에 반드시 초기화를 해야 한다. auto test; // 컴파일 에러 auto test2 = 1; test2 = 3 //컴파일 에러 auto로 포인터를 받으면? Object* pNode = new Object; auto pNodePtr = pNode; pNode와 pNodeptr은 동일한 포인터이다! 컴파일러가 어떤 형인지 알아낼 수 있다. 하지만 저렇게 포인터를 사용한다면 가독성이 매우 좋지 않다. 그렇다면 auto로 참조를 받으면? Object pNode; Object& pNodeRef = pNode; auto pNodeRef_2 = p..