λͺ©λ‘μ 체 κΈ (1099)
KoreanFoodie's Study
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 7 : κ°μ²΄ μμ± μ κ΄νΈ'( )' μ μ€κ΄νΈ'{ }' λ₯Ό ꡬλΆνλΌ ν΅μ¬ : 1. μ€κ΄νΈ μ΄κΈ°νλ κ°μ₯ κ΄λ²μνκ² μ μ©ν μ μλ μ΄κΈ°ν ꡬ문μ΄λ©°, μ’νκΈ° λ³νμ λ°©μ§νλ©°, C++ μ κ°μ₯ μ±κ°μ ꡬ문 ν΄μμμ μμ λ‘λ€. 2. μμ±μ μ€λ²λ‘λ© ν΄μ κ³Όμ μμ μ€κ΄νΈ μ΄κΈ°νλ κ°λ₯ν ν std::initializer_list 맀κ°λ³μκ° μλ μμ±μμ λΆν©νλ€. 3. κ΄νΈμ μ€κ΄νΈμ μ νμ΄ μλ―Έ μλ μ°¨μ΄λ₯Ό λ§λλ μλ μΈμ λ κ°λ‘ std::vector μ μμ±νλ κ²μ΄λ€. 4. ν νλ¦Ώ μμμ κ°μ²΄λ₯Ό μμ±ν λ κ΄νΈλ₯Ό μ¬μ©ν κ²μΈμ§ μ€κ΄νΈ..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 6 : auto κ° μμΉ μμ νμμΌλ‘ μ°μλ λλ λͺ μμ νμμ μ΄κΈ°μΉλ₯Ό μ¬μ©νλΌ ν΅μ¬ : 1. "보μ΄μ§ μλ" λ리μ νμ λλ¬Έμ auto κ° μ΄κΈ°ν ννμμ νμμ "μλͺ»" μ°μν μ μλ€. 2. νμ λͺ μ μ΄κΈ°μΉ κ΄μ©κ΅¬λ auto κ° μνλ νμμ μ°μνλλ‘ κ°μ νλ€. λ€μ μμλ₯Ό 보μ. class Widget {}; std::vector feature(const Widget& w) { return std::vector(10); } void processWidget(Widget w, bool highPriority) { /* D..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 5 : λͺ μμ νμ μ μΈλ³΄λ€λ auto λ₯Ό μ νΈνλΌ ν΅μ¬ : 1. auto λ³μλ λ°λμ μ΄κΈ°ν ν΄μΌ νλ©°, μ΄μμ± λλ ν¨μ¨μ± λ¬Έμ λ₯Ό μ λ°ν μ μλ νμ λΆμΌμΉκ° λ°μνλ κ²½μ°κ° κ±°μ μμΌλ©°, λμ²΄λ‘ λ³μμ νμμ λͺ μμ μΌλ‘ μ§μ ν λλ³΄λ€ νμλλ λ μ λ€. 2. auto λ‘ νμμ μ§μ ν λ³μλ νλͺ© 2 μ νλͺ© 6 μμ μ€λͺ ν λ¬Έμ μ λ€μ κ²ͺμ μ μλ€. μλ μμλ₯Ό 보면, auto λ₯Ό μ°λ κ²μ΄ μ¬λ¬λͺ¨λ‘ νλ₯νλ€λ κ²μ νλμ νμ ν μ μμ κ²μ΄λ€. template void print_from_b_to_e(It b, It e)..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 4 : μ°μλ νμμ νμ νλ λ°©λ²μ μμλλΌ ν΅μ¬ : 1. μ»΄νμΌλ¬κ° μ°μνλ νμμ IDE νΈμ§κΈ°λ μ»΄νμΌλ¬ μ€λ₯ λ©μμ§, Boost TypeIndex λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄μ©ν΄μ νμ ν μ μλ κ²½μ°κ° λ§λ€. 2. μΌλΆ λꡬμ κ²°κ³Όλ μ μ©νμ§λ μκ³ λΆμ νν μ μμΌλ―λ‘, C++ μ νμ μ°μ κ·μΉλ€μ μ λλ‘ μ΄ν΄νλ κ²μ μ¬μ ν νμν μΌμ΄λ€. νμ μ°μ μ 보λ₯Ό μ»λ λ°©λ²μ μΈ κ°μ§ μμ μΌλ‘ λΆλ₯ν μ μλ€. 1. IDE νΈμ§κΈ° 2. μ»΄νμΌλ¬μ μ§λ¨ λ©μμ§ decltype μ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ κ²½μ°, νμ μ μ»΄νμΌ νμμ μμλΌ μ..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 3 : decltype μ μλ λ°©μμ μμ§νλΌ ν΅μ¬ : 1. decltype μ νμ λ³μλ ννμμ νμμ μ무 μμ μμ΄ λ³΄κ³ νλ€. 2. decltype μ νμμ΄ T μ΄κ³ μ΄λ¦μ΄ μλ μΌκ° ννμμ λν΄μλ νμ T& νμμ λ³΄κ³ νλ€. 3. C++14 λ decltype(auto) λ₯Ό μ§μνλ€. decltype(auto)λ auto μ²λΌ μ΄κΈ°μΉλ‘λΆν° νμμ μ°μνμ§λ§, κ·Έ νμ μ°μ κ³Όμ μμ decltype μ κ·μΉλ€μ μ μ©νλ€. 컨ν μ΄λμ operator[ ] λ°ν νμμ μμ½κ² ννν΄ λ³΄μ. template auto auth..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 2 : auto μ νμ μ°μ κ·μΉμ μμ§νλΌ ν΅μ¬ : 1. auto νμ μ°μμ λμ²΄λ‘ ν νλ¦Ώ νμ μ°μκ³Ό κ°μ§λ§, auto νμ μ°μμ μ€κ΄νΈ μ΄κΈ°μΉκ° std::initializer_list λ₯Ό λνλΈλ€κ³ κ°μ νλ λ°λ©΄, ν νλ¦Ώ νμ μ°μμ κ·Έλ μ§ μλ€λ μ°¨μ΄κ° μλ€. 2. ν¨μμ λ°ν νμμ΄λ λλ€ λ§€κ°λ³μμ μ°μΈ auto μ λν΄μλ auto νμ μ°μμ΄ μλλΌ ν νλ¦Ώ νμ μ°μμ΄ μ μ©λλ€. ν κ°μ§ κΈ°μ΄ν μμΈλ₯Ό λΉΌλ©΄, auto νμ μ°μμ΄ κ³§ ν νλ¦Ώ νμ μ°μμ΄λ€. κ·Έ κΈ°μ΄ν ν κ°μ§ λ€λ₯Έ μμΈλ₯Ό 보μ. #include #i..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 1 : ν νλ¦Ώ νμ μ°μ κ·μΉμ μμ§νλΌ ν΅μ¬ : 1. ν νλ¦Ώ νμ μ°μ λμ€ μ°Έμ‘° νμμ μΈμλ€μ λΉμ°Έμ‘°λ‘ μ·¨κΈλλ€. μ¦, μ°Έμ‘°μ±μ΄ 무μλλ€. 2. λ³΄νΈ μ°Έμ‘° 맀κ°λ³μμ λν νμ μ°μ κ³Όμ μμ μΌκ° μΈμλ€μ νΉλ³νκ² μ·¨κΈλλ€. 3. κ° μ λ¬ λ°©μμ 맀κ°λ³μμ λν νμ μ°μ κ³Όμ μμ const λλ volatile(λλ κ·Έ λ λ€μΈ) μΈμλ λΉ const, λΉ volatile μΈμλ‘ μ·¨κΈλλ€. 4. ν νλ¦Ώ νμ μ°μ κ³Όμ μμ λ°°μ΄μ΄λ ν¨μ μ΄λ¦μ ν΄λΉνλ μΈμλ ν¬μΈν°λ‘ λΆκ΄΄νλ€. λ¨, κ·Έλ° μΈμκ° μ°Έμ‘°λ₯Ό μ΄κΈ°ννλλ° μ°μ΄λ κ²½μ°,..
μ΄λμ°λμ 'μ΄λμ°μ κ²μμν' μ± μ 보며 μ’μ λ΄μ©μ μ 리νκ³ μμ΅λλ€. λ μμΈν λ΄μ©μ΄ κΆκΈνμλ€λ©΄, μ± μ κ΅¬λ§€ν΄ μ§μ μ½μ΄λ³΄μκΈ°λ₯Ό μΆμ²λ립λλ€! νλ ¬μ μ΄μ©ν νμ λ³ν νλ ¬μ μ΄μ©ν΄ μ΄λ€ 물체λ₯Ό λ°μκ³ λ°©ν₯μΌλ‘ 90 λ νμ μν€λ νλ ¬μ ꡬνλ€κ³ μκ°ν΄ 보μ. μμ κ·Έλ¦Όμ 보면, λ 벑ν°κ° λ€μκ³Ό κ°μ΄ λ³νλλ€. νμ€κΈ°μ λ²‘ν° e1 : (1, 0) -> (0, 1) νμ€κΈ°μ λ²‘ν° e2 : (0, 1) -> (-1, 0) λ°λΌμ λ°μκ³λ‘ 90 λ νμ λ³νμ μννλ νλ ¬μ λ€μκ³Ό κ°μ΄ μ€κ³ν μ μλ€. μκ³λ°©ν₯μΌλ‘ 90 λ νμ μ νλ κ²½μ°λ λ€μκ³Ό κ°μ κ²μ΄λ€ : μ¬μ€ 90 λ νμ μ κ²½μ°λ νλ ¬μ μ¬μ©νμ§ μκ³ κ°λ¨νκ² λ€μκ³Ό κ°μ΄ ꡬν μ μλ€. - μκ³ λ°©ν₯μΌλ‘ 90 λ νμ : (x, y) ..
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 55 : Booεζθ¦ͺ! λΆμ€νΈλ₯Ό λ μ¬λ¬λΆ κ°κΉμ΄μ ν΅μ¬ : 1. λΆμ€νΈλ C++ νμ€νμ μμ΄ μν₯λ ₯ μλ μ€ν μμ€ C++ λΌμ΄λΈλ¬λ¦¬ κ°λ° λͺ¨μμ΄λ€. 2. λΆμ€νΈμ λ€μν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄ν΄λ³΄μ λΆμ€νΈ λΌμ΄λΈλ¬λ¦¬λ μ격ν μ¬μ¬λ₯Ό ν΅ν΄ λμ νμ§μ μ½λλ₯Ό μ 곡νλ€. μμλ μ λ§ λ€μνλ°, μΉμ¬μ΄νΈλ₯Ό λ€μ΄κ°μ λ€μν λΌμ΄λΈλ¬λ¦¬λ₯Ό κ΅¬κ²½ν΄ λ³΄μ!
C++ νλ‘κ·Έλλ¨Έμ νλ μμ΄μ λ°μ΄λΈμΈ, μ€μ½§ λ§μ΄μ΄μ€μ Modern Effective C++ λ₯Ό μ½κ³ κΈ°μ΅ν λ΄μ©μ μμ½νκ³ μμ΅λλ€. κΌ μ½μ΄λ³΄μκΈΈ μΆμ²λ립λλ€! νλͺ© 54 : TR1 μ ν¬ν¨ν νμ€ λΌμ΄λΈλ¬λ¦¬ ꡬμ±μμμ νΈμν μΉκ΅¬κ° λμ ν΅μ¬ : 1. μ΅μ΄μ μμ λ C++ νμ€ λΌμ΄λΈλ¬λ¦¬μ μ£Όμ ꡬμ±μμλ STL, iostream, λ‘μΌμΌ λ±μ΄λ€. 2. TR1 μ΄ λμ λλ©΄μ μΆκ°λ κ²μ μ€λ§νΈ ν¬μΈν°, μΌλ°ν ν¨μ, ν΄μ κΈ°λ° μ»¨ν μ΄λ, μ κ· ννμ λ±λ±μ΄λ€ 3. TR1 μ체λ λ¨μν λͺ μΈμμ΄λ©°, TR1 κΈ°λ₯μ μ¬μ©νκΈ° μν΄μλ λͺ μΈλ₯Ό ꡬνν μ½λλ₯Ό ꡬν΄μΌ νλ€. λνμ μΈ μλ£μ² μ€ ν κ΅°λ°κ° λ°λ‘ λΆμ€νΈμ΄λ€. μ¬μ€ ν΄λΉ μ± μ νμ¬ μμ (2022λ ) μΌλ‘λΆν° 7λ μ μ λμ¨ κ°μ νμ΄λ―λ‘, μ± μμ ..