Notice
Recent Posts
Recent Comments
Link
관리 메뉴

λͺ©λ‘μ „체 κΈ€ (1096)

KoreanFoodie's Study

κ²Œμž„μˆ˜ν•™ - κ·Ήμ’Œν‘œκ³„

μ΄λ“μš°λ‹˜μ˜ 'μ΄λ“μš°μ˜ κ²Œμž„μˆ˜ν•™' 책을 보며 쒋은 λ‚΄μš©μ„ μ •λ¦¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 더 μžμ„Έν•œ λ‚΄μš©μ΄ κΆκΈˆν•˜μ‹œλ‹€λ©΄, 책을 ꡬ맀해 직접 μ½μ–΄λ³΄μ‹œκΈ°λ₯Ό μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! κ·Ήμ’Œν‘œκ³„ μš°λ¦¬λŠ” 기본적으둜 데카λ₯΄νŠΈ μ’Œν‘œκ³„λ₯Ό 많이 μ΄μš©ν•˜λŠ”λ°, 사싀 νšŒμ „μ„ ν•  λ•Œλ§ˆλ‹€ x 와 y 의 λ³€ν™”λ₯Ό 맀번 κ³„μ‚°ν•˜λŠ” 것은 맀우 번거둜운 일일 수 μžˆλ‹€. 이 경우, μ›μ μœΌλ‘œλΆ€ν„°μ˜ 거리 r κ³Ό ΞΈ 의 두 μš”μ†Œλ‘œ κ΅¬μ„±λœ κ·Ήμ’Œν‘œκ³„(Polar coordinate system) 을 μ‚¬μš©ν•  수 μžˆλ‹€. 일반적으둜 arctan ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λ©΄ λ²‘ν„°μ˜ 각도λ₯Ό μ–»μ–΄λ‚Ό 수 μžˆλŠ”λ°(tanΞΈ = y/x μ΄λ―€λ‘œ, ΞΈ = arctan(y/x) 이 됨), arctan ν•¨μˆ˜λŠ” μΉ˜μ—­μ΄ -180λ„μ—μ„œ 180λ„κΉŒμ§€ 밖에 λ˜μ§€ μ•ŠλŠ”λ‹€. λ”°λΌμ„œ 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, x 와 y 값을 λ”°λ‘œ μ „..

Game Dev/Game Math 2022. 10. 26. 06:29
Effective C++ | ν•­λͺ© 50 : new 및 delete λ₯Ό μ–Έμ œ λ°”κΏ”μ•Ό 쒋은 μ†Œλ¦¬λ₯Ό 듀을지λ₯Ό νŒŒμ•…ν•΄ λ‘μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 50 : new 및 delete λ₯Ό μ–Έμ œ λ°”κΏ”μ•Ό 쒋은 μ†Œλ¦¬λ₯Ό 듀을지λ₯Ό νŒŒμ•…ν•΄ λ‘μž 핡심 : κ°œλ°œμžκ°€ 슀슀둜 μ‚¬μš©μž μ •μ˜ new 및 delete λ₯Ό μž‘μ„±ν•˜λŠ” λ°λŠ” μ—¬λŸ¬κ°€μ§€ μ΄μœ κ°€ μžˆλ‹€. μ—¬κΈ°μ—λŠ” μˆ˜ν–‰ μ„±λŠ₯ ν–₯상, νž™ μ‚¬μš© μ‹œμ˜ μ—λŸ¬ 디버깅, νž™ μ‚¬μš© 정보 μˆ˜μ§‘ λ“±μ˜ λͺ©μ μ΄ ν¬ν•¨λœλ‹€. operator new 와 operator delete λ₯Ό λ°”κΎΈλŠ” κ°€μž₯ ν”ν•œ μ„Έ 가지 이유λ₯Ό ν•œ 번 보자. 잘λͺ»λœ νž™ μ‚¬μš©μ„ νƒμ§€ν•˜κΈ° μœ„ν•΄ : 데이터 μ˜€λ²„λŸ°(overrun) 및 μ–Έλ”λŸ°(underrun) 을 νƒμ§€ν•˜κΈ° μœ„ν•΄ νƒμ§€μš© λ°”μ΄νŠΈλ₯Ό μΆ”κ°€λ‘œ ν• λ‹Ήν•  수 μžˆλ‹€..

Tutorials/C++ : Advanced 2022. 10. 25. 16:34
Effective C++ | ν•­λͺ© 49 : new 처리자의 λ™μž‘ 원리λ₯Ό μ œλŒ€λ‘œ μ΄ν•΄ν•˜μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 49 : new 처리자의 λ™μž‘ 원리λ₯Ό μ œλŒ€λ‘œ μ΄ν•΄ν•˜μž 핡심 : 1. set_new_handler ν•¨μˆ˜λ₯Ό μ“°λ©΄ λ©”λͺ¨λ¦¬ ν• λ‹Ή μš”μ²­μ΄ λ§Œμ‘±λ˜μ§€ λͺ»ν–ˆμ„ λ•Œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό 지정할 수 μžˆλ‹€. 2. μ˜ˆμ™ΈλΆˆκ°€(nothrow) new λŠ” 영ν–₯λ ₯이 μ œν•œλ˜μ–΄ μžˆλ‹€. λ©”λͺ¨λ¦¬ ν• λ‹Ή μžμ²΄μ—λ§Œ 적용되기 λ•Œλ¬Έμ΄λ‹€. 이후에 ν˜ΈμΆœλ˜λŠ” μƒμ„±μžμ—μ„œλŠ” μ–Όλ§ˆλ“ μ§€ μ˜ˆμ™Έλ₯Ό 던질 수 μžˆλ‹€. λ©”λͺ¨λ¦¬ 할당이 μ œλŒ€λ‘œ λ˜μ§€ λͺ»ν–ˆμ„ λ•Œ, operator new λŠ” μ˜ˆμ™Έλ₯Ό λ˜μ§€κΈ° μ „ μ‚¬μš©μž μͺ½μ—μ„œ 지정할 수 μžˆλŠ” μ—λŸ¬ 처리 ν•¨μˆ˜λ₯Ό μš°μ„ μ μœΌλ‘œ ν˜ΈμΆœν•œλ‹€. 이 ν•¨μˆ˜λ₯Ό new 처리자(new-ha..

Tutorials/C++ : Advanced 2022. 10. 25. 16:33
Effective C++ | ν•­λͺ© 48 : ν…œν”Œλ¦Ώ λ©”νƒ€ν”„λ‘œκ·Έλž˜λ°, ν•˜μ§€ μ•Šκ² λŠ”κ°€?

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 48 : ν…œν”Œλ¦Ώ λ©”νƒ€ν”„λ‘œκ·Έλž˜λ°, ν•˜μ§€ μ•Šκ² λŠ”κ°€? 핡심 : 1. ν…œν”Œλ¦Ώ λ©”νƒ€ν”„λ‘œκ·Έλž˜λ°μ€ κΈ°μ‘΄ μž‘μ—…μ„ λŸ°νƒ€μž„μ—μ„œ 컴파일 νƒ€μž„μœΌλ‘œ μ „ν™˜ν•˜λŠ” 효과λ₯Ό λ‚Έλ‹€. λ”°λΌμ„œ TMP λ₯Ό μ“°λ©΄ μ„ ν–‰ μ—λŸ¬ 탐지와 높은 λŸ°νƒ€μž„ νš¨μœ¨μ„ 손에 κ±°λ¨Έμ₯˜ 수 μžˆλ‹€. 2. TMP λŠ” μ •μ±… μ„ νƒμ˜ 쑰합에 κΈ°λ°˜ν•˜μ—¬ μ‚¬μš©μž μ •μ˜ μ½”λ“œλ₯Ό μƒμ„±ν•˜λŠ” 데 μ“Έ 수 있고, νŠΉμ • νƒ€μž…μ— λŒ€ν•΄ λΆ€μ μ ˆν•œ μ½”λ“œκ°€ λ§Œλ“€μ–΄μ§€λŠ” 것을 λ§‰λŠ” 데도 μ“Έ 수 μžˆλ‹€. ν…œν”Œλ¦Ώ λ©”νƒ€ν”„λ‘œκ·Έλž˜λ°(template metaprogramming: TMP) λŠ” 컴파일 도쀑에 μ‹€ν–‰λ˜λŠ” ν…œν”Œλ¦Ώ 기반의 ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λŠ” 일을..

Tutorials/C++ : Advanced 2022. 10. 25. 16:33
Effective C++ | ν•­λͺ© 47 : νƒ€μž…μ— λŒ€ν•œ 정보가 ν•„μš”ν•˜λ‹€λ©΄ νŠΉμ„±μ •λ³΄ 클래슀λ₯Ό μ‚¬μš©ν•˜μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 47 : νƒ€μž…μ— λŒ€ν•œ 정보가 ν•„μš”ν•˜λ‹€λ©΄ νŠΉμ„±μ •λ³΄ 클래슀λ₯Ό μ‚¬μš©ν•˜μž 핡심 : 1. νŠΉμ„±μ •λ³΄ ν΄λž˜μŠ€λŠ” 컴파일 도쀑에 μ‚¬μš©ν•  수 μžˆλŠ” νƒ€μž… κ΄€λ ¨ 정보λ₯Ό λ§Œλ“€μ–΄λ‚Έλ‹€. λ˜ν•œ νŠΉμ„±μ •λ³΄ ν΄λž˜μŠ€λŠ” ν…œν”Œλ¦Ώ 및 ν…œν”Œλ¦Ώ 특수 버전을 μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•œλ‹€. 2. ν•¨μˆ˜ μ˜€λ²„λ‘œλ”© 기법과 κ²°ν•©ν•˜μ—¬ νŠΉμ„±μ •λ³΄ 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄, 컴파일 νƒ€μž„μ— κ²°μ •λ˜λŠ” νƒ€μž…λ³„ if...else 점검문을 ꡬ사할 수 μžˆλ‹€. STL μ—λŠ” container, iterator, algorithm 말고도 utility 라고 λΆˆλ¦¬λŠ” ν…œν”Œλ¦Ώλ„ λͺ‡ 개 λ“€μ–΄ μžˆλ‹€. 이듀 쀑 advance λΌλŠ”, μ§€μ •λœ ..

Tutorials/C++ : Advanced 2022. 10. 25. 16:33
Effective C++ | ν•­λͺ© 46 : νƒ€μž… λ³€ν™˜μ΄ λ°”λžŒμ§ν•  κ²½μš°μ—λŠ” 비멀버 ν•¨μˆ˜λ₯Ό 클래슀 ν…œν”Œλ¦Ώ μ•ˆμ— μ •μ˜ν•΄ λ‘μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 46 : νƒ€μž… λ³€ν™˜μ΄ λ°”λžŒμ§ν•  κ²½μš°μ—λŠ” 비멀버 ν•¨μˆ˜λ₯Ό 클래슀 ν…œν”Œλ¦Ώ μ•ˆμ— μ •μ˜ν•΄ λ‘μž 핡심 : λͺ¨λ“  λ§€κ°œλ³€μˆ˜μ— λŒ€ν•΄ μ•”μ‹œμ  νƒ€μž… λ³€ν™˜μ„ μ§€μ›ν•˜λŠ” ν…œν”Œλ¦Ώκ³Ό 관계가 μžˆλŠ” ν•¨μˆ˜λ₯Ό μ œκ³΅ν•˜λŠ” 클래슀 ν…œν”Œλ¦Ώμ„ λ§Œλ“€λ €κ³  ν•œλ‹€λ©΄, 이런 ν•¨μˆ˜λŠ” 클래슀 ν…œν”Œλ¦Ώ μ•ˆμ— ν”„λ Œλ“œ ν•¨μˆ˜λ‘œμ„œ μ •μ˜ν•œλ‹€ λ‹€μŒκ³Ό 같은 유리수 계산 ν΄λž˜μŠ€κ°€ μžˆλ‹€κ³  ν•΄ 보자. template class Rational { public: Rational(const T& numerator = 0, const T& denominator = 1); const T numerator() const;..

Tutorials/C++ : Advanced 2022. 10. 25. 16:32
Effective C++ | ν•­λͺ© 45 : "ν˜Έν™˜λ˜λŠ” λͺ¨λ“  νƒ€μž…"을 λ°›μ•„λ“€μ΄λŠ” λ°λŠ” 멀버 ν•¨μˆ˜ ν…œν”Œλ¦Ώμ΄ 직방!

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 45 : "ν˜Έν™˜λ˜λŠ” λͺ¨λ“  νƒ€μž…"을 λ°›μ•„λ“€μ΄λŠ” λ°λŠ” 멀버 ν•¨μˆ˜ ν…œν”Œλ¦Ώμ΄ 직방! 핡심 : 1. ν˜Έν™˜λ˜λŠ” λͺ¨λ“  νƒ€μž…μ„ λ°›μ•„λ“€μ΄λŠ” 멀버 ν•¨μˆ˜λ₯Ό λ§Œλ“€λ €λ©΄ 멀버 ν•¨μˆ˜ ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•œλ‹€. 2. μΌλ°˜ν™”λœ 볡사 생성 μ—°μ‚°κ³Ό μΌλ°˜ν™”λœ λŒ€μž… 연산을 μœ„ν•΄ 멀버 ν…œν”Œλ¦Ώμ„ μ„ μ–Έν–ˆλ‹€ ν•˜λ”λΌλ„, λ³΄ν†΅μ˜ 볡사 μƒμ„±μžμ™€ 볡사 λŒ€μž… μ—°μ‚°μžλŠ” μ—¬μ „νžˆ 직접 μ„ μ–Έν•΄μ•Ό ν•œλ‹€. ν¬μΈν„°λŠ” λ‹€μŒκ³Ό 같은 μ•”μ‹œμ  λ³€ν™˜μ„ μ§€μ›ν•œλ‹€. class Base {}; class Derived: public Base {}; Base *pt1 = new Derived; ν•˜μ§€λ§Œ ν…œν”Œλ¦Ώμ„ μ΄μš©ν•΄μ„œ λ§Œλ“œ..

Tutorials/C++ : Advanced 2022. 10. 25. 16:32
Effective C++ | ν•­λͺ© 44 : λ§€κ°œλ³€μˆ˜μ— 독립적인 μ½”λ“œλŠ” ν…œν”Œλ¦ΏμœΌλ‘œλΆ€ν„° λΆ„λ¦¬μ‹œν‚€μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 44 : λ§€κ°œλ³€μˆ˜μ— 독립적인 μ½”λ“œλŠ” ν…œν”Œλ¦ΏμœΌλ‘œλΆ€ν„° λΆ„λ¦¬μ‹œν‚€μž 핡심 : 1. ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•˜λ©΄ λΉ„μŠ·λΉ„μŠ·ν•œ ν΄λž˜μŠ€μ™€ ν•¨μˆ˜κ°€ μ—¬λŸ¬ 벌 λ§Œλ“€μ–΄μ§„λ‹€. λ”°λΌμ„œ ν…œν”Œλ¦Ώ λ§€κ°œλ³€μˆ˜μ— μ’…μ†λ˜μ§€ μ•Šμ€ ν…œν”Œλ¦Ώ μ½”λ“œλŠ” λΉ„λŒ€ν™”μ˜ 원인이 λœλ‹€. 2. λΉ„νƒ€μž… ν…œν”Œλ¦Ώ λ§€κ°œλ³€μˆ˜λ‘œ μƒκΈ°λŠ” μ½”λ“œ λΉ„λŒ€ν™”μ˜ 경우, ν…œν”Œλ¦Ώ λ§€κ°œλ³€μˆ˜λ₯Ό ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ ν˜Ήμ€ 클래슀 데이터 λ©€λ²„λ‘œ λŒ€μ²΄ν•¨μœΌλ‘œμ¨ λΉ„λŒ€ν™” μ’…μ’… 없앨 수 μžˆλ‹€. 3. νƒ€μž… λ§€κ°œλ³€μˆ˜λ‘œ μƒκΈ°λŠ” μ½”λ“œ λΉ„λŒ€ν™”μ˜ 경우, λ™μΌν•œ 이진 ν‘œν˜„κ΅¬μ‘°λ₯Ό 가지고 μΈμŠ€ν„΄μŠ€ν™”λ˜λŠ” νƒ€μž…λ“€μ΄ ν•œ 가지 ν•¨μˆ˜ κ΅¬ν˜„μ„ κ³΅μœ ν•˜κ²Œ λ§Œλ“¦μœΌλ‘œμ¨ λΉ„λŒ€ν™”λ₯Ό κ°μ†Œμ‹œν‚¬ ..

Tutorials/C++ : Advanced 2022. 10. 25. 16:31
Effective C++ | ν•­λͺ© 43 : ν…œν”Œλ¦ΏμœΌλ‘œ λ§Œλ“€μ–΄μ§„ κΈ°λ³Έ 클래슀 μ•ˆμ˜ 이름에 μ ‘κ·Όν•˜λŠ” 방법을 μ•Œμ•„ λ‘μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 43 : ν…œν”Œλ¦ΏμœΌλ‘œ λ§Œλ“€μ–΄μ§„ κΈ°λ³Έ 클래슀 μ•ˆμ˜ 이름에 μ ‘κ·Όν•˜λŠ” 방법을 μ•Œμ•„ λ‘μž 핡심 : νŒŒμƒ 클래슀 ν…œν”Œλ¦Ώμ—μ„œ κΈ°λ³Έ 클래슀 ν…œν”Œλ¦Ώμ˜ 이름을 μ°Έμ‘°ν•  λ•ŒλŠ”, "this->" λ₯Ό μ ‘λ‘μ‚¬λ‘œ λΆ™μ΄κ±°λ‚˜ κΈ°λ³Έ 클래슀 ν•œμ •λ¬Έμ„ λͺ…μ‹œμ μœΌλ‘œ 써 μ£ΌλŠ” κ²ƒμœΌλ‘œ ν•΄κ²°ν•˜μž ν…œν”Œλ¦Ώ 클래슀 μƒμ†ν•˜λŠ” λ‹€μŒ 예제 μ½”λ“œλ₯Ό 보자. class CompanyA { public: void sendCleartext(const std::string& msg); void sendEncrypted(const std::string& msg); }; // CompanyB, Compan..

Tutorials/C++ : Advanced 2022. 10. 25. 16:31
Effective C++ | ν•­λͺ© 42 : typename 의 두 가지 의미λ₯Ό μ œλŒ€λ‘œ νŒŒμ•…ν•˜μž

C++ ν”„λ‘œκ·Έλž˜λ¨Έμ˜ ν•„λ…μ„œμ΄μž 바이블인, 슀콧 λ§ˆμ΄μ–΄μŠ€μ˜ Modern Effective C++ λ₯Ό 읽고 κΈ°μ–΅ν•  λ‚΄μš©μ„ μš”μ•½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κΌ­ μ½μ–΄λ³΄μ‹œκΈΈ μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€! ν•­λͺ© 42 : typename 의 두 가지 의미λ₯Ό μ œλŒ€λ‘œ νŒŒμ•…ν•˜μž 핡심 : 1. ν…œν”Œλ¦Ώ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ, class 및 typename 은 μ„œλ‘œ λ°”κΎΈμ–΄ 써도 λ¬΄λ°©ν•˜λ‹€. 2. 쀑첩 의쑴 νƒ€μž… 이름을 μ‹λ³„ν•˜λŠ” μš©λ„μ—λŠ” λ°˜λ“œμ‹œ typename 을 μ‚¬μš©ν•œλ‹€. 단, 쀑첩 의쑴 이름이 κΈ°λ³Έ 클래슀 λ¦¬μŠ€νŠΈμ— μžˆκ±°λ‚˜ 멀버 μ΄ˆκΈ°ν™” 리슀트 λ‚΄μ˜ κΈ°λ³Έ 클래슀 μ‹λ³„μžλ‘œ μžˆλŠ” κ²½μš°μ—λŠ” μ˜ˆμ™Έμ΄λ‹€. 질문 : μ•„λž˜μ˜ 두 ν…œν”Œλ¦Ώ 선언문에 쓰인 class 와 typename 의 μ°¨μ΄λŠ” λ¬΄μ—‡μΌκΉŒ? template class Widget; template class Wi..

Tutorials/C++ : Advanced 2022. 10. 25. 16:30