본문 바로가기

분류 전체보기166

[C++ 기초] 반복문(Loop Statement)과 스택 프레임(Stack Frame), 배열 형식과 STL 컨테이너 오늘자 코딩 문제를 풀던 중 반복문을 이용하여 char 배열에 입력 데이터(문자열)를 저장하고 이를 STL vector 클래스의 요소로 저장하려는 과정에서, 배열을 요소로 직접 컨테이너에 넣을 수가 없어 char* 형의 요소를 가지는 vector를 선언하여 해결해보려 했는데 이것 때문에 오류가 발생하였다. * STL의 컨테이너는 배열로 선언된 데이터를 요소로 가질 수 없다(아래의 2) 참고). // 문제의 코드 #include #include int main() { int N = 10; std::vector Pokemons; while (N--) { char pokemon[21] = { 0, }; scanf("%s", pokemon); Pokemons.push_back(pokemon); } for (co.. 2023. 5. 10.
[C++ 기초] 람다 표현식(Lambda Expression)과 클로저(Closure) 람다 표현식(lambda expression)C++11 이상에서 지원하는 기능으로, 람다 표현식(또는 람다 함수, 람다)은 함수에 인수로 호출되거나 전달되는 위치에서 익명 함수 개체(클로저, closure)를 정의할 수 있는 기능이다.  캡처(capture): 람다가 선언된 스코프에 있는 변수를 참조(&) 또는 값(=)으로 복사하여 사용할지의 여부를 정한다. 디폴트를 사용하는 경우([=] 또는 [&]) 람다 본문에 선언되어있는 외부 변수만 캡처된다. 필요에 따라서 람다 외부의 변수명을 명시하여 해당 변수에 대해서만 참조나 값으로 캡처하는 방식을 지정할 수 있다. 람다 외부의 로컬 변수를 참조로 캡처하는 경우, 클로저의 수명이 로컬 변수의 수명보다 오래 지속될 수 있어 액세스 위반(댕글링, dangling.. 2023. 5. 10.
[Unreal Engine 일반] 비주얼 이펙트(VFX) 시스템 개요 - 파티클 시스템(Particle System)과 나이아가라 시스템(Niagara System) 언리얼 엔진의 비주얼 이펙트(visual effect, VFX) 시스템 언리얼 엔진에는 다양한 시각적 효과를 표현하기 위한 파티클 시스템(particle system)과 나이아가라 시스템(Niagara system)이 탑재되어있다(언리얼 엔진 4 버전 이상을 기준). 파티클 시스템과 나이아가라 시스템은 공통적으로 UFXSystemAsset이라는 기반 클래스로부터 상속되어 구현되는 파생 클래스들이며, 우리가 구현하는 월드에 여러 가지 파티클을 스폰(spawn)하는 이미터들을 가지고 있다. 언리얼 엔진 4 버전 이전에는 주로 파티클 시스템을 기반으로 비주얼 이펙트를 생성하고 편집하였으나, 언리얼 엔진 4부터는 나이아가라 VFX 시스템이 새로 추가되었다. 파티클 시스템(particle system)의 특징 파.. 2023. 5. 10.
[자료 구조] 선형(Linear) 자료 구조 (2) 스택(Stack), 큐(Queue) 포스트를 읽으실 때 참고하실 점 해당 카테고리의 포스트들은 C/C++ 언어를 기준으로 작성되어 다른 언어에는 적용되지 않는 내용이 일부 포함될 수 있습니다. 또한, 글의 배치나 띄어쓰기는 PC 버전 전체 화면 크기를 기준으로 작성됩니다. 틀린 부분이 있는 경우, 댓글이나 이메일로 연락주시면 내용을 정정하도록 하겠습니다. 지난 포스트에서 배열, 연결 리스트에 대한 키워드를 정리(정리한 거 맞나?...)해봤는데 이번 포스트에서는 나머지 선형 자료 구조인 스택(stack)과 큐(queue), 그리고 자료 구조를 공부할 때 지속적으로 접하게 되는 개념인 추상 자료형(abstract data type, ADT)의 개념에 대해 정리해보려고 한다. 스택(Stack) 스택은 기본적으로 나중에 들어온 자료를 먼저 내보내.. 2023. 5. 9.
실패를 잘 극복해서 이겨내려면 어떻게 해야 하나요? 결론부터 말하면 나도 모른다. 사실 제목은 어그로에 불과하고, 이 글을 읽는 모두가 회복 탄력성이라는 거에 대해 한 번 생각해보고 같이 실패를 이겨내는 힘을 기를 수 있으면 좋겠다는 취지로 쓴 뻘글임!! 글의 끝부분에는 개인적으로 추천하는 유투브 채널이 하나 있는데, 솔직히 해당 유투브 채널에서 알려주는 훈련법을 따라한다구 회복 탄력성이 길러지는 지는 모르겠지만, 그래도 회복 탄력성에 대해 심도 깊게 연구하시는 분의 유투브라서 한 번쯤 구경가보는 것도 좋을 것 같아서 링크를 걸어놨당(해당 교수님과 개인적인 친분은 1도 없다. 홍보 아님. 아니 홍보이기는 한데... 애당초 저 유투브 채널과 교수님이 나보다 약 1,240,192,570 배 정도 더 유명하시니까 문제될 거는 없다구 생각을 한다). 간만에 유투.. 2023. 5. 9.
[Baekjoon] 14425번: 문자열 집합 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 오늘의 코딩 문제 풀이 포스팅부터는 본인의 공부 차원에서, 단순히 문제를 해결하기 위한 정답 코스만이 아니라 문제를 해결하면서 실패한 과정까지도 포스팅에 어느정도 간단히 기록을 해보려고 한다. 실패 과정을 복기하고, 왜 실패했는지 분석하는 방법은 단순히 공부 뿐 아니라 하물며 게임 실력 기르는 데에도 좋은 습관이다(게임을 그냥 즐기는 거 이상으로 잘 하고 싶다면.... 2023. 5. 9.