프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 1.3 객체지향 언어로서의 C++ C언어 개발자 입장에서 앞에 나열된 C++의 기능을 보았다면 단지 좀 더 편리한 기능이 추가되었다고 생각할 수 있다. C++ 라는 이름 자체가 암시하듯이 더 나은 C라는 측면이 있는것은 분명하다. 하지만 한 가지 넘겨짚을 수 없는 진일보한 부분이 있는데 C와는 달리 객체지향 언어라는 점이다. 객체지향 프로그래밍(ObjectOriented Programming(OOP)) 는 상당히 다른, 논란이 있긴 하지만 보다 자연스러운 코딩 방법이다. 1.3.1 클래스의 정의 클래스(class)는 객체의 특성을 정의한다. C++ 에서 클래스는 보통 헤더파일에서 선언하고 상세 정의는 관런 소스파일 (.cpp)에서 작성한다. #include class AirlineTicket { publ..

  • 수많은 마라톤 선수들이 마라톤에 참여하였다. 단 한명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였다. 마라톤에 참여한 선수들의 이름의 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때 완주하지 못한 선수의 이름을 return 하도록 함수를 작성하시오. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상, 100,000명 이하이다. completion의 길이는 participant의 길이보다 1 작다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져있다. 참가자 중 동명이인이 있을 수 있다. 입출력 예 participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "l..

  • 1.2.6 타입 추론2 decltype(auto) auto를 이용하면 표현식의 타입이 자동으로 연역된다. 만약 const 한정자가 붙어있다면, const 속성을 없애버린다. decltype은 이런 효과가 없기 때문에, 중복코드를 만들게 되는데, 해결을 위해 C++14부터는 decltype(auto)를 도입했다. const string message = "Test"; const string& foo() { return message; } auto f1 = foo(); 여기서 foo()를 호출하여 리턴값을 auto 변수에 담을 수 있다. 그런데, auto는 함수 foo()의 리턴값을 가진 const 속성을 없애기 때문에, f1은 string타입이 되며 복제본이 만들어지게 된다. 만약, f1이 const참조형..

  • 1.2.5 Const 가 사용되는 여러가지 상황 const 키워드는 C++에서 여러 가지 목적으로 사용된다. const의 모든 사용 케이스는 서로 연관되어 있기는 하지만, 각기 미묘한 차이가 있다. const 상수 const는 constant에서 왔다. C에서는 버전 번호와 같이 실행되는 동안 절대 변하지 않는 상수값에 이름을 부여하여 활용할 때 #define 전처리 메크로를 이용한다. C++에서는 #define대신 const 키워드를 사용하는걸 권장한다. cosnt키워드를 이용해서 상수값을 정의하는 것은 보통의 변수를 선언하는것 과 같은데, 단지 const키워드를 선언문 앞에 붙인다는 점이 다르다. const로 선언된 변수는 컴파일러에 의해 변숫값이 바뀌지 않도록 보증되는 것이 일반 변수와 다른 점이다..

  • 1.2.4 예외처리 C++는 유연한 언어이기는 하지만 딱히 안전한 언어는 아니다. 작성한 코드가 엉뚱한 메모리 영역을 헤집거나, 0으로 나누기(컴퓨터가 표현 불가)를 시도해도 컴파일러가 걸러주지 않는다. C+의 익셉션(exeption)은 코드의 안정성을 높이기 위해 언어차원에서 제공되는 기능이다. 익셉션 : 예상치 못한 상황 웹페이지를 가져오는 함수를 작성할 때, 페이지를 서비스하는 인터넷 호스트가 다운되었을 수도 있고, 페이지가 없어지거나, 연결이 해제되어버릴 수도 있다. 많은 프로그래밍 언어에서 함수의 리턴값을 nullptr이나 특별한 에러코드에 매핑하는 방법으로 대응한다. 그러나 익셉션은 더 쉽게 처리할 수 있다. 익셉션에서는 몇가지 새로운 용어가 도입되었다. 특정 코드가 예외적인 상황을 인지하면 ..

  • 언리얼 케릭터의 기본이동과 회전에 대해 알아보자. 키 입력 세팅 우리가 게임을 할 때 WASD나, 위아래 화살표 등, 이동에 사용하는 키의 입력값 들이 있다. 이러한 입력을 언리얼엔진에서는 쉽게 기입할 수 있도록, 프로젝트 세팅을 사용할 수 있다. 여기서 액션 매핑, 축 매핑을 확인할 수 있는데, 각각 다음과 같다. 액션 매핑 : 키가 입력을 한번 받고 행동하는것. 일시적인 행동. 공격 또는 점프 등을 이야기한다. 축 매핑 : 키가 입력을 받고 계속 행동하는것. 입력중에도 계속 행동한다. 기본이동, 회전 등을 이야기한다. 위에 설정한대로, MoveForward 와 MoveRight나 Turn, LookUp등을 세팅해보자. 블루프린트 생성 이전에 c++에서 사용되는 클래스 개념이 블루프린트 라고 이해했었다..