λͺ©λ‘μ 체 κΈ (1103)
KoreanFoodie's Study

λͺ¨λμ μ½λλ₯Ό μ°Έκ³ νμ¬ ν΅μ¬ λ΄μ©μ κ°μΆλ¦¬κ³ μμ΅λλ€. μμΈν λ΄μ©μ λͺ¨λμ μ½λμ μΉμ΄λ¨Ήλ C++ κ°μ’λ₯Ό μ°Έκ³ ν΄ μ£ΌμΈμ! μ°κ΄ 컨ν μ΄λ (Associative Container) μ°κ΄ 컨ν μ΄λλ Key - Value ꡬ쑰λ₯Ό κ°μ§ 컨ν μ΄λλ₯Ό μλ―Ένλ€. set μ key κ°λ§ κ°μ§κ³ λ§λ μ§ν©μ΄κ³ , map μ key-value νμ΄λ₯Ό μ΄μ©νλ€. multiset μ μ€λ³΅κ°μ νμ©νλ set, multimap μ μ€λ³΅ ν€κ°μ νμ©νλ map μ΄λ€. set template void print_set(std::set& s) { // μ μ λͺ¨λ μμλ€μ μΆλ ₯νκΈ° std::cout

λͺ¨λμ μ½λλ₯Ό μ°Έκ³ νμ¬ ν΅μ¬ λ΄μ©μ κ°μΆλ¦¬κ³ μμ΅λλ€. μμΈν λ΄μ©μ λͺ¨λμ μ½λμ μΉμ΄λ¨Ήλ C++ κ°μ’λ₯Ό μ°Έκ³ ν΄ μ£ΌμΈμ! C++ νμ€ ν νλ¦Ώ λΌμ΄λΈλ¬λ¦¬ (STL : Standard Template Library) STL μ λ€μκ³Ό κ°μ μΈ κ°μ λΌμ΄λΈλ¬λ¦¬λ€μ μλ―Ένλ€. Container : μμ νμ μ κ°μ²΄λ₯Ό λ³΄κ΄ Iterator : 컨ν μ΄λμ 보κ΄λ μμμ μ κ·Όν μ μλ μ§μ μ Algorithm : λ°λ³΅μλ€μ κ°μ§κ³ μΌλ ¨μ μμ μ μν Container 컨ν μ΄λμλ λ°°μ΄μ²λΌ κ°μ²΄λ€μ μμ°¨μ μΌλ‘ 보κ΄νλ μνμ€ μ»¨ν μ΄λ(sequence container) μ ν€λ₯Ό λ°νμΌλ‘ λμλλ κ°μ μ°Ύμμ£Όλ μ°κ΄ 컨ν μ΄λ(associative container) κ° μλ€. λ¨Όμ μνμ€ μ»¨ν μ΄λμ κ²½μ° vector..

λͺ¨λμ μ½λλ₯Ό μ°Έκ³ νμ¬ ν΅μ¬ λ΄μ©μ κ°μΆλ¦¬κ³ μμ΅λλ€. μμΈν λ΄μ©μ λͺ¨λμ μ½λμ μΉμ΄λ¨Ήλ C++ κ°μ’λ₯Ό μ°Έκ³ ν΄ μ£ΌμΈμ! TMPλ₯Ό μ΄μ©ν μμ νλ³ νλ‘κ·Έλ¨ μ»΄νμΌλ¬λ ꡬ쑰μ μ΄λ ν μλ³μλ₯Ό 보μμλ 'κ°'μΈμ§ 'νμ 'μΈμ§ κ²°μ μ ν΄μΌ νλ€. λ€μμ μμλ₯Ό 보μ. template int func() { T::t* p; } class A { const static int t; }; class B { using t = int; }; μμμ, ν΄λμ€ A μ λν΄ func ν¨μλ₯Ό νΉμννλ€λ©΄, t κ° μ΄λ ν int κ°μ΄ λμ΄ T::t* p; κ° λ¨μν ν΄λμ€ A μ t μ p λ₯Ό κ³±νλ μμΌλ‘ ν΄μμ΄ λλ€. λ°λ©΄, func ν¨μκ° ν΄λμ€ B μ λν΄ νΉμν λλ€λ©΄, T::t* p; λ int ν ν¬μΈν° p λ₯Ό..

λ―Έκ΅ μ£Όμμμ₯μ΄ μλΉν λΆμν ν보λ₯Ό 보μ΄κ³ μμ΅λλ€. λ¬μμ-μ°ν¬λΌμ΄λ μ μμΌλ‘ μΈν ν격λ μκ² μ§λ§, μλΉμ λ¬Όκ°μ§μ μμΉμΌλ‘ μΈν λΆλ΄μ΄ μ£Όμμμ₯μλ κ·Έλλ‘ λλ¬λλ μ§μ‘°μΌμ§λ λͺ¨λ₯΄κ² μ΅λλ€. κΈλ¦¬ μΈμμΌλ‘ μΈν μλ°μ΄ μ£Όκ°μ μ΄λ―Έ λ°μλμλ€κ³ μκ°νμ§λ§, μΈμμΌλ‘ μΈν νκ²©μ΄ μ΄μ μμΌ μ§μ μ μΌλ‘ λλ¬λκ³ μλ€κ³ λ§νλ μ¬λλ μμ΅λλ€. μ¬λ¬λͺ¨λ‘, μμ¦ μν©μ μ¬λ―Έκ° μμ΅λλ€. μ¬λ―Έκ° μλ κ²μ λμ΄μμ, νΌλλ¬Όμ ν리λ μ¬λλ λ§κ² λ€μ. λκ΅°κ°λ λμ, λκ΅°κ°λ λλ¬Όμ, νΉμ λͺ¨λ κ²μ κ±Έμμμ§λ λͺ¨λ¦ λλ€. μ΄μ©λ©΄, κ·Έλ κΈ°μ λΆμν κ²μ΄ λΉμ°ν κ²μΌμ§λ λͺ¨λ¦ λλ€. νμ§λ§ μ κ° λ§μλ리λ 2κ°μ§λ₯Ό κΈ°μ΅νμ λ€λ©΄, μ§λ£¨νκ³ λΆμν ν‘보μ₯μ λ°λμ λ²μ΄λ μ μμΌλ¦¬λΌ λ€μ§ν©λλ€. 첫째, μ€μ§ η₯λ§μ΄ 'μ΅μ ..

Pure Virtual Function μ΄ μ κ±°κΈ°μ λμ? μΈλ¦¬μΌμ 곡λΆνλ μ€, νλ μ΄ μ€μ ESC λ²νΌμ λλ₯΄λ©΄ λΌλ μλ¬κ° λμ€λ©΄μ μ’ λ£κ° λλ νμμ΄ λ°μνλ€. κ·Έκ²λ μ§μμ μΌλ‘! pure virtual ν¨μκ° νΈμΆλμλ€λ?? λλ λ§λ μ λ μλλ°.. νλ©° μλ¬λ‘κ·Έλ₯Ό 보λ λ΄ μ€μκ° μλ, μμ§ μͺ½ λ²κ·Έλ‘ 보μλ€. μμΈν μ½μ΄λ³΄λ©΄ μ΄ λΆλΆμ΄ λ¬Έμ λΌλ 건λ°... Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Core/Private/Windows/WindowsPlatformMisc.cpp] [Line: 475] Pure virtual function being called μΌλ¨ ꡬκΈλ§μ μ‘°κΈ ν΄λ³΄λ€κ°, μμ λ°©νΈμΌλ‘ ν΄λΉ μμ€μ½λλ₯Ό μ½κ°..

μ΄λμ°λμ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ²μ κ°λ°μ μ μ" μ± μ λ°λΌκ°λ©° μ€μ΅ν λ΄μ©μ μ 리ν ν¬μ€ν μ λλ€. μ€μ΅μ νμν μλ£λ€μ μ΄ λ§ν¬μμ, μ κ° μμ ν μμ μμ€ μμ±λ³Έμ μ¬κΈ°μμ μ°Ύμλ³΄μ€ μ μμ΅λλ€. (μ λ μΈλ¦¬μΌ 4.27.2 λ²μ κΈ°μ€μΌλ‘ μμ νμμ΅λλ€) μΊλ¦ν° μμΌ μ€μ 무기λ λ©μμ μ°©μ©ν΄μΌ μΊλ¦ν° μ λλ©μ΄μ μ λ°λΌ λ¬΄κΈ°κ° μμ§μΈλ€. μΈλ¦¬μΌμ μμΌμ΄λΌλ μμ€ν μ μ 곡νλλ°, μ°λ¦¬κ° μ¬μ©νλ μλ¦¬μ΄ μΊλ¦ν°μ μ€μΌλ ν λ©μμλ μ΄λ―Έ hand_rSocket μ΄λΌλ μ΄λ¦μ μμΌμ΄ μμ±λΌ μλ€. ν리뷰 μμ μ μΆκ°ν΄μ, μμΌμ μμΉλ₯Ό μ‘°μ ν΄λ³΄μ. 무기 μ μ μ InfinityBlade : Weapons μ¬κΈ°μλ μμΌμ μμΉ κ°μ (-9.4, 3.0, 5.3), νμ κ°μ (18.4, 23.2, 83.0..

μ΄λμ°λμ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ²μ κ°λ°μ μ μ" μ± μ λ°λΌκ°λ©° μ€μ΅ν λ΄μ©μ μ 리ν ν¬μ€ν μ λλ€. μ€μ΅μ νμν μλ£λ€μ μ΄ λ§ν¬μμ, μ κ° μμ ν μμ μμ€ μμ±λ³Έμ μ¬κΈ°μμ μ°Ύμλ³΄μ€ μ μμ΅λλ€. (μ λ μΈλ¦¬μΌ 4.27.2 λ²μ κΈ°μ€μΌλ‘ μμ νμμ΅λλ€) μ½λ¦¬μ μ€μ μ½λ¦¬μ μ 물리μ μΆ©λ μμμ μλ―Ένλλ°, μΈλ¦¬μΌμμ μ½λ¦¬μ μ ν¬κ² μΈ κ°μ§ λ°©λ²μΌλ‘ μ μν μ μλ€. μ€νν±λ©μ μμ : μ€νν±λ©μ μμ μ μ½λ¦¬μ μμμ μ¬λ λ°©λ²μ΄λ€. μ€νν±λ©μ μ»΄ν¬λνΈμμ λΉμ£ΌμΌκ³Ό μΆ©λμ΄λΌλ λ κ°μ§ κΈ°λ₯μ μ€μ ν μ μμ΄ κ΄λ¦¬κ° νΈλ¦¬νλ€. κΈ°λ³Έ λν(Primitive) μ»΄ν¬λνΈ : ꡬ체, λ°μ€, μΊ‘μ λ±μ κΈ°λ³Έ λνμ μ¬μ©ν΄ μ€νν±λ©μμ λ³λλ‘ μΆ©λ μμμ μ§μ νλ€. μ€μΌλ ν λ©μλ₯Ό μμ§μΌ λ μ£Όλ‘ μ¬μ©νλ€...

μ΄λμ°λμ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ²μ κ°λ°μ μ μ" μ± μ λ°λΌκ°λ©° μ€μ΅ν λ΄μ©μ μ 리ν ν¬μ€ν μ λλ€. μ€μ΅μ νμν μλ£λ€μ μ΄ λ§ν¬μμ, μ κ° μμ ν μμ μμ€ μμ±λ³Έμ μ¬κΈ°μμ μ°Ύμλ³΄μ€ μ μμ΅λλ€. (μ λ μΈλ¦¬μΌ 4.27.2 λ²μ κΈ°μ€μΌλ‘ μμ νμμ΅λλ€) λͺ½νμ£Ό(Montage) μ λ κ·Έλνμ μ€ν μ΄νΈ λ¨Έμ μ μ½μ ν΄ λͺ¨λ μΊλ¦ν°μ μ λλ©μ΄μ μ μ²λ¦¬ν μλ μμ§λ§, κ²½μ°μ μκ° λ§μμ§λ©΄ μ€ν μ΄νΈ λ¨Έμ μΌλ‘ μ΄λ₯Ό κ΄λ¦¬νλ κ²μ λ§€μ° μ΄λ ΅λ€. λ°λΌμ μΈλ¦¬μΌμ νΉμ μν©μμ μνλ μ λλ©μ΄μ μ λ°λμν€λ μ λλ©μ΄μ λͺ½νμ£ΌλΌλ κΈ°λ₯μ μ 곡νλ€. λ¨Όμ , μ λλ©μ΄μ λΈλ£¨νλ¦°νΈμμ λͺ½νμ£Όλ₯Ό μμ±νλ€. λͺ½νμ£Όλ μΉμ (Section) λ¨μλ‘ μ λλ©μ΄μ μ κ΄λ¦¬νλ€. μμμ λ³Έ κ²μ²λΌ, Attack1, Attack2, ..

μ΄λμ°λμ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ²μ κ°λ°μ μ μ" μ± μ λ°λΌκ°λ©° μ€μ΅ν λ΄μ©μ μ 리ν ν¬μ€ν μ λλ€. μ€μ΅μ νμν μλ£λ€μ μ΄ λ§ν¬μμ, μ κ° μμ ν μμ μμ€ μμ±λ³Έμ μ¬κΈ°μμ μ°Ύμλ³΄μ€ μ μμ΅λλ€. (μ λ μΈλ¦¬μΌ 4.27.2 λ²μ κΈ°μ€μΌλ‘ μμ νμμ΅λλ€) μ λλ©μ΄μ λΈλ£¨νλ¦°νΈ : μ λλ©μ΄μ λΈλ£¨νλ¦°νΈλ₯Ό μ΄μ©ν΄ μ λλ©μ΄μ μμ€ν μ μ μνκΈ° μ μ, λ¨Όμ λ κ°μ§ κ΅¬μ± μμλ₯Ό μμ보μ. μ λ μΈμ€ν΄μ€ : μ€μΌλ ν λ©μλ₯Ό μμ νλ ν°μ μ 보λ₯Ό λ°μ μ λ κ·Έλνκ° μ°Έμ‘°ν λ°μ΄ν°λ₯Ό μ 곡νλ€. λΈλ£¨νλ¦°νΈμ C++ λ‘ μ μν μ μλ€. μ λ κ·Έλν : μ λ μΈμ€ν΄μ€μ λ³μ κ°μ λ°λΌ λ³ννλ μ λλ©μ΄μ μμ€ν μ μ€κ³νλ 곡κ°μ΄λ€. λΈλ£¨νλ¦°νΈλ‘λ§ μ μν μ μλ€. μμ§μμ "μλ‘μ΄ C++ ν΄λμ€ (λͺ¨λ ν΄λμ€ ..

μ΄λμ°λμ "μ΄λμ°μ μΈλ¦¬μΌ C++ κ²μ κ°λ°μ μ μ" μ± μ λ°λΌκ°λ©° μ€μ΅ν λ΄μ©μ μ 리ν ν¬μ€ν μ λλ€. μ€μ΅μ νμν μλ£λ€μ μ΄ λ§ν¬μμ, μ κ° μμ ν μμ μμ€ μμ±λ³Έμ μ¬κΈ°μμ μ°Ύμλ³΄μ€ μ μμ΅λλ€. (μ λ μΈλ¦¬μΌ 4.27.2 λ²μ κΈ°μ€μΌλ‘ μμ νμμ΅λλ€) μΊλ¦ν° λͺ¨λΈ Pawn λμ Character μ‘ν°λ₯Ό λ§λ€μ΄ μ‘°μν΄λ³΄μ. Character μ‘ν°λ Pawn μ‘ν°λ₯Ό μμλ°λλ°, Pawn κ³Ό λ€λ₯Έ μ μ CharacterMovement μ»΄ν¬λνΈλ₯Ό μ¬μ©ν΄ μμ§μμ κ΄λ¦¬νλ€λ κ²μ΄λ€(Actor>>Pawn>>Character). μ΄ μ»΄ν¬λνΈκ° FloatingMovement μ λΉν΄ κ°μ§λ μ₯μ μ λ€μκ³Ό κ°λ€. μ νμ κ°μ μ€λ ₯μ λ°μν μμ§μμ μ 곡 λ€μν μμ§μ μ€μ κ°λ₯(κΈ°μ΄κ°κΈ°, λ μκ°κΈ°, μμνκΈ°..