본문 바로가기

C++17

[C++] std::string std::string C++에서는 STL에서 제공하는 스트링(String) 클래스입니다. STL에서 제공해 주는 이 string 클래스는 다양한 연산자가 정의되어 있어 프로그래머가 일반 변수처럼 사용할 수 있습니다. string을 사용하기 위해서는 "#include " header를 추가해야 합니다. string 연산자 = 연산자 string 클래스 변수 간에 대입 연산 기능 제공 std::string str1 = "aaa"; std::string str2 = str1; printf("str1 : %s, str2 : %s \n", str1.c_str(), str2.c_str()); + 연산자 string 클래스 변수의 문자열 합치기 기능 제공 std::string str1 = "aaa"; std::str.. 2018. 3. 18.
[C++](클래스 함수 포인터를 활용한)가위 바위 보 게임 가위 바위 보 게임 클래스 함수 포인터를 활용하여 가위 바위 보 게임입니다. [game.h Code] class C_GAME { public: enum class E_TYPE { E_NONE, E_SCISSORS, E_ROCK, E_PAPRE, E_MAX, }; private: E_TYPE m_ePlayer; E_TYPE m_eComputer; std::string m_arResult[(int)E_TYPE::E_MAX][(int)E_TYPE::E_MAX]; void (C_GAME::*m_pPrintType[(int)E_TYPE::E_MAX])(); public: C_GAME(); void init(); void printResult(); void selectPlayer(C_GAME::E_TYPE eTyp.. 2018. 3. 11.
[C++]랜덤함수 rand_s() 함수 rand()와 rand_s() 함수 랜덤 함수를 사용할 일이 있어서 rand() 함수를 찾던 중 rand_s()라는 함수가 있어서 찾아보았습니다. 먼저 랜덤 함수에 대해서 알아보겠습니다. rand() 함수 rand() 함수는 header에 포함되어 있는 함수이기 때문에 #include 를 추가해서 사용합니다. 구문 int rand( void ); 반환 값 난수를 반환하여 반환되는 오류는 없습니다. 설명 rand() 함수는 0부터 RAND_MAX(32767) 범위의 의사 난수 정수를 반환합니다. 난수 범위 지정 [0 ~9] int nData = 0; nData = (int)(((double)rand() / (RAND_MAX + 1) * 10)); [1 ~10] int nData = 0 nData = (in.. 2018. 3. 11.
[C++]함수 템플릿, 클래스 템플릿 템플릿 템플릿(template)은 C++ 프로그래밍 언어의 한 기능으로, 함수와 클래스가 제네릭 형과 동작할 수 있게 도와준다. 함수나 클래스가 개별적으로 다시 작성하지 않고도 각기 다른 수많은 자료형에서 동작할 수 있게 한다. 이는 튜링 완전 언어로 볼 수 있다. 템플릿은 C++에서 프로그래머들에게 유용한데, 특히 다중 상속과 연산자 오버로딩과 결합할 때 그러하다. C++ 표준 라이브러리는 연결된 템플릿의 프레임워크 안에서 수많은 유용한 함수들을 제공한다. (제네릭 형 : 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식이다.) 출처 : https://ko.wikipedia.org/wiki/%ED%85%9C%.. 2018. 3. 5.
[C++]함수 포인터 와 Class 함수 포인터 함수 포인터는 함수의 시작 주소 값을 가리키는 포인터 변수입니다. 함수 포인터 변수 형식 반환형 (*함수 포인터 변수 이름)(인수 목록); 의 형태를 가집니다. 코드로 보자면 다음과 같습니다. int func(int nData1, int nData2); int main() { int (*pFunc) (int, int) = nullptr; pFunc = &func; printf("%d \n", (*pFunc)(2,5)); return 0; } 위 코드를 보시면 반환형이 int형이고 인자로 int형 변수 2개를 받는 func() 함수가 있습니다. 그리고 이 함수를 가리킬 수 있는 함수 포인터 변수 int (*pFunc)(int , int)를 선언하고 nullptr로 초기화하였습니다. (포인터 변.. 2018. 2. 28.