2024/01 107
-
2.1.4 로우 문자열 리터럴 로우 문자열 리터럴(raw string literal)에서는 \t, \n과 같은 역슬래시를 통한 이스케이프 시퀸스를 일반 문자열로 취급한다. string str = "Hello "World"!"; // 컴파일에러 만약, 문자열 리터럴을 위와같이 작성하면 컴파일 에러가 발생한다. 보통의 문자열에서 따옴표를 표현하려면 다음과 같이 이스케이프 시퀸스를 사용해야 한다. string str = "Hello \ "World\"!"; 로우 문자열 리터럴을 이용하면 이스케이프 시퀸스를 사용하지 않아도 된다. 로우 문자열 리터럴은 R"( 로 시작하고 )" 로 끝난다. string str = R"(Hello "World"!)"; 로우 문자열 리터럴은 여러줄에 걸쳐 작성될 수도 있다. 예를들어..
-
문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..
-
2.1.3 C++ string 클래스 C++는 표준 라이버리를 통해 훨씬 진보된 문자열을 제공한다. C++의 std;:string 클래스는 에서 제공하는 문자열 처리 기능을 대부분 지원하면서, 제대로만 사용한다면 메모리 할당 부분까지 대신 관리해준다. string 클래스는 헤더 파일에 정의되어 있다. C스타일 문자열의 문제점 C++ strnig의 필요성을 이해하려면, C스타일 문자열의 장점과 단점을 알아야 한다. 장점 단순하다. 기본문자 타입과 배열구조만 사용한다. 가볍가. 제대로 사용하면 꼭 필요한 메모리 공간만 점유한다. 저수준이다. 로우 메모리상에서 쉽게 조작하거나 복제할 수 있다. C 프로그래머에게 매우 익숙하다. 단점 범용 문자열 데이터 타입이므로 고급 작업을 하기에는 너무 많은 노력이 추가로 ..
-
-
문자열은 프로그램을 작성할 때 거의 항상 사용한다. C언어는 문자열 표현을 위해 null로 종결되는 단순한 ASC2 문자열을 사용할 수 밖에 없다. 그런데 단순한 문자 배열로 문자열을 표현하면, 버퍼 오버플로 같은 보안 위험 등 여러가지 문제가 발생한다. C++ STL은 더 안전하고 사용하기 쉬운 std::string 클래스를 제공하여, C스타일 문자열의 단점을 피할 수 있다. 2.1 동적 문자열 프로그래밍 언어에서 문자열은 최 우선순위로 지원되는 기능이다. 자유자재로 바꾸는 크기는 물론, 부분추출, 추출하여 바꾸기 등의 여럭 고급 기능을 지원한다. 하지만, C에서의 문자열 지원은 상당히 부실한데, 단순히 문자의 배열만 존재하고, 편리하게 사용할 수 있는 문자열 데이터 타입이 따로 존재하지 않는다. 문자..
-
BP를 사용해서 CubeObject를 생성하기. BP를 사용해서 Cube를 생성해보자. 좌측의 엑터창을 사용해서 Cube를 생성해도 무방하지만, 일단 우리는 블루프린트를 적용 가능한 엑터를 생성하는것 이 목표이기 때문에, 블루프린트를 이용해서 Cube를 만들 것 이다. 블루프린트 클래스를 생성한다. 만들어야 하는것 은 엑터 임으로, 엑터로 생성한다. 컴포넌트 추가 에서 Cube를 생성한다. 생성하게 되면, 지정된 구 대신 Cube가 생성된다. 중앙에 있는 구체는 엑터가 생성되면 해당 위치에 생성된다고 알려주는 것 임으로, 무시해도 무방하다. 어차피 컴포넌트가 추가되면 볼 일이 없다. 같은 느낌으로 TextRender또한 생성해서 Cube에 드래그 하여 상속시켜준다. 위와같이 텍스트를 배치하면 성공. 텍스..