분류 전체보기
[C++20] 어트리트뷰트 (Attribute)
[C++20] 어트리트뷰트 (Attribute)
2025.05.25어트리트뷰트 (Attribute) Attribute 종류들 [[noreturn]]C++11 함수가 값을 반환하지 않음을 표시. return value가 없다. [[deprecated]]C++14 함수가 폐기되었음을 표시. 더 이상 사용하지 않거나 사용하지 않을것을 권유 [[nodiscard]]C++17 함수의 반환 값 무시 시 경고 발생. 버리지 않는다. [[nodiscard("사유")]]C++20 함수의 반환 값 무시 시 경고 발생. 컴파일 에러 시 "사유"를 컴파일러가 보여준다. [[likely]]C++20 확률이 높다. 최적화에 도움이 된다. [[unlikely]]C++20 확률이 낮다. 최적화에 도움이 된다. [[NoUniqueAddress]]C++20 사용 예시 (C+..
[C++20] 람다에서의 템플릿 매개변수 (Template Parameter for Lambda)
[C++20] 람다에서의 템플릿 매개변수 (Template Parameter for Lambda)
2025.05.25람다에서의 템플릿 매개변수 (Template Parameter for Lambda) 람다에서의 매개변수 #include using namespace std;auto sumTyped = [](int a, int b) { return a + b; }; // C++11 Typed Lambda// 두 타입(auto a, auto b)이 달라도 된다.auto sumGeneric = [](auto a, auto b) { return a + b;}; // C++14 Generic Lambda// 후자(decltype(a) b)가 전자(auto a)로 convertible(변환 가능)해야 한다auto sumDeclType = [](auto a, decltype(a) b) { return a + b; }; // C..
[C++20] 템플릿에서 Non-Type 인자 받기 (Non-Type Template Parameter)
[C++20] 템플릿에서 Non-Type 인자 받기 (Non-Type Template Parameter)
2025.05.25템플릿에서 Non-Type 인자 받기 (Non-Type Template Parameter) Non-Type Template Parameter란? Non-Type Template Parameter(NTTP)는 템플릿에서 타입이 아닌 값을 매개변수로 받는 기능이다. C++20 이전에는 정수형, 포인터, 열거형 등 제한된 타입만 사용할 수 있었지만, C++20부터는 구조적 타입(structural type)도 사용할 수 있게 되었다. 기존의 템플릿에서 Non-Type 사용 (C++20 이전) Non-Type int, enum포인터, 참조nullptr_t// typename 대신에 Non-Type이 들어갈 수 있다.template 예시코드templateauto GetDouble(){ return d;}i..
뷰모델이 유효하지 않은 게터를 가지고 있습니다. # ViewModel # Invalid Getter
뷰모델이 유효하지 않은 게터를 가지고 있습니다. # ViewModel # Invalid Getter
2025.05.20이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[C++ 20] Concept
[C++ 20] Concept
2025.04.30이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[UE] TSet과 구조체 사용하기: 왜 operator==과 GetTypeHash가 필요한가?
[UE] TSet과 구조체 사용하기: 왜 operator==과 GetTypeHash가 필요한가?
2025.04.30이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
2025.04.27 운동일지
2025.04.27 운동일지
2025.04.27조깅 5.20km
2025.04.26 운동일지
2025.04.26 운동일지
2025.04.27웨이트 50분
2025.04.23 운동일지
2025.04.23 운동일지
2025.04.23푸쉬업 100회, 풀업 50회
[UE] C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 (C++20 전까지는 안 된다..)
[UE] C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 (C++20 전까지는 안 된다..)
2025.04.20목차 C++ 람다에서 구조화 바인딩 변수를 캡처할 수 없는 이유 구조화 바인딩(Structured Binding) 문법 C++17에서 도입된 구조화 바인딩(Structured Binding) 문법은 std::pair나 std::tuple을 다룰 때 훨씬 간결하고 가독성 좋은 코드를 작성할 수 있게 해준다. for (const auto& [key, value] : myMap){ // 훨씬 깔끔한 문법!} 문제 상황 그런데 아래와 같이 구조화 바인딩된 변수를 람다에서 사용하려 하면 컴파일 에러가 발생할 수 있다. for (const auto& [key, value] : myMap){ auto lambda = [key]() { return key; }; // 💥 컴파일 에러?!} ..
2025.04.20 운동일지
2025.04.20 운동일지
2025.04.20조깅 5.75km, 걷기 0.86km풀업 31회, 푸쉬업 100회, 다리운동 15분
[UE / C++] TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다
[UE / C++] TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다
2025.04.18목차 TOptional과 Temporary Object: 당신의 참조는 이미 파괴되었다 문제 코드 const FSkillId& FSkill::GetSkillCid(const TOptional& SkillId) const{ return SkillId.Get(FSkillId(0));} 에러 메시지error: returning reference to local temporary object [-Werror,-Wreturn-stack-address] 원인 분석언리얼 엔진코드 Optional.h/** @return The optional value when set; DefaultValue otherwise. */const OptionalType& Get(const OptionalType& Def..