๋ฐ˜์‘ํ˜•
JuneBee
JuneBee
JuneBee
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (102)
    • ๐Ÿ‘” JOB (10)
      • ์ „ํ˜• ํ›„๊ธฐ (10)
    • ๐ŸŽฎ GAME (9)
      • ์ ค๋‹ค | ์™•๊ตญ์˜ ๋ˆˆ๋ฌผ ๊ฒŒ์ž„ ์ผ๊ธฐ (9)
    • ๐Ÿ““ STUDY (60)
      • JAVA (15)
      • TIL (2)
      • FASTCAMPUS (32)
      • ํ™˜๊ฒฝ์„ค์ • (2)
      • YOCTO (1)
      • OS (4)
      • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ์ธ ์•ก์…˜ (2)
    • ๐ŸŽงDAILY (6)
    • ๐Ÿ‡ฉ๐Ÿ‡ช GERMAN (17)
      • ๋Œ€ํ•™์› ์ง€์› (3)
      • ์ง€์› ํ›„๊ธฐ (11)
      • ๋…์ผ์–ด ์‹œํ—˜ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ์ผ์ƒ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ํฌ๋ฃจ์Šค์นผ
  • ํ”Œ๋ ˆ์ด์ผ๊ธฐ
  • ํ•œ๋ฒˆ์—๋๋‚ด๋Š”์ฝ”๋”ฉํ…Œ์ŠคํŠธ369JavaํŽธ์ดˆ๊ฒฉ์ฐจํŒจํ‚ค์ง€Online.
  • ๋ชจํ—˜์ผ๊ธฐ
  • ์ง์žฅ์ธ์ธ๊ฐ•
  • B1
  • telc
  • C/C++
  • ์‹ธํ”ผ
  • ์„์‚ฌ
  • ์ทจ์—…์ค€๋น„
  • ์ž๋ฃŒ๊ตฌ์กฐ
  • ์ •๋ ฌ
  • sort
  • ๋…์ผ
  • ์œ ํ•™
  • ์ ค๋‹ค
  • Java
  • ๋…์ผ์œ ํ•™
  • ๋…์ผ์–ด
  • bruteforce
  • SSAFY
  • ์ง์žฅ์ธ์ž๊ธฐ๊ณ„๋ฐœ
  • ํŒจ์ŠคํŠธ์บ ํผ์Šค
  • ํŒจ์บ ์ฑŒ๋ฆฐ์ง€
  • ํŒจ์ŠคํŠธ์บ ํผ์Šคํ›„๊ธฐ
  • ๊ฒŒ์ž„์ผ๊ธฐ
  • ์™•๋ˆˆ
  • ๋ฐฑํŠธ๋ž˜ํ‚น
  • ์™•๊ตญ์˜๋ˆˆ๋ฌผ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
JuneBee

JuneBee

๐Ÿ““ STUDY

[C++] ๋žŒ๋‹ค ํ•จ์ˆ˜

2022. 12. 5. 22:24
728x90
๋ฐ˜์‘ํ˜•

Syntax

[ captures ] ( params ) specs requires(optional) { body } (1)    
[ captures ] { body } (2) (until C++23)  
[ captures ] specs { body } (2) (since C++23)  
[ captures ] < tparams > requires(optional) ( params ) specs requires(optional) { body } (3) (since C++20)  
[ captures ] < tparams > requires(optional) { body } (4) (since C++20)
(until C++23)
 
[ captures ] < tparams > requires(optional) specs { body } (4) (since C++2  

์บก์ณ ๋ธ”๋ก : ์‚ฌ์šฉ ์‹œ ์™ธ๋ถ€ ๋ณ€์ˆ˜๋ฅผ ์บก์ณํ•ด ๋žŒ๋‹ค body ์—์„œ ์‚ฌ์šฉ

-> ํ˜„์žฌ ๋žŒ๋‹ค ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์บก์ณ๊ฐ€ ์•ˆ๋œ๋‹ค๊ณ  ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ ํ‘ํ‘

์ฒ˜์Œ์— ์‚ฌ์šฉํ•œ ์บก์ฒ˜ : this ํ•ด๋‹น ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜ ์ฐธ์กฐ ๊ฐ€๋Šฅ

& ๋ณ€์ˆ˜๋ช… : ์™ธ๋ถ€ ๋ณ€์ˆ˜ ์ฐธ์กฐ ๋ฐ ์ดˆ๊ธฐํ™”

 

 

ํ•จ์ˆ˜ ํฌ์ธํ„ฐ

ํ•จ์ˆ˜ ํฌ์ธํ„ฐ ์ด๋ก ์€ ํ•ญ์ƒ ์˜์˜ํ•œ๋ฐ ์‹ค๋ฌด์—์„œ ๋ณด๋ฉด ๋งค์ผ ๋‹นํ™ฉ์Šค๋Ÿฝ๋‹ค. ์™œ ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ ์“ฐ๋Š”์ง€ ๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ณด๋‹ค ์•„๋ž˜ ๋ธ”๋กœ๊ทธ์˜ ๊ธ€์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

https://hwan-shell.tistory.com/87

ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” callback์ด๋ผ๊ณ  ํ•œ๋‹ค. callback์€ ํ•จ์ˆ˜๊ฐ€ ํ•จ์ˆ˜๋ฅผ ๋ถ€๋ฅด๋Š” ํ˜•์‹์ด๋‹ค.

 

์‹ค๋ฌด๋ฅผ ํ•˜๋ฉด์„œ ๋А๋‚€์ ์€ ๋‹ค๋“ค ์‹ค๋ฌด์—์„œ๋Š” getter, setter, callback๋งŒ ์•Œ๋ฉด ๋œ๋‹ค๊ณ  ํ•˜๋˜๋ฐ ๊ทธ๋ž˜์„œ์ธ์ง€ ํฌ์ธํ„ฐ๊ฐ€ ์ •๋ง ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด, ๋ณต์‚ฌ๊ฐ€ ์ผ์–ด๋‚˜๊ณ  ์ฝ”๋“œ๋„ ๊ธธ์–ด์ง€๊ณ  ๋‚˜๋ผ๊ฐ€ ๋งํ•˜๊ณ ..

 

ํ•จ์ˆ˜ ๊ฐ์ฒด

ํ•จ์ˆ˜ ๊ฐ์ฒด๋Š” ํ•จ์ˆ˜ ํฌ์ธํ„ฐ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋Š” ์—๋Š” ๋ช…ํ™•ํ•œ ํƒ€์ž…์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— return type๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ๋“ค๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ œํ•œ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ ํ•จ์ˆ˜ ๊ฐ์ฒด๋Š” ์–ด๋–ค ํ•จ์ˆ˜ ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉ๋ ์ง€ ์•Œ ์ˆ˜ ์žˆ์–ด์„œ inlineํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค์‹œ ๋žŒ๋‹ค๋กœ ๋Œ์•„์™€์„œ, ๋žŒ๋‹ค๋Š” ํ•จ์ˆ˜ ๊ฐ์ฒด์™€ ํ•จ์ˆ˜ ํฌ์ธํ„ฐ์˜ ์žฅ์ ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค

๋žŒ๋‹ค์‹ ์žฅ์ 

1. class ์„ ์–ธ ํ•„์š” x (์ฝ”๋“œ ๊ธธ์ด ์ค„์Œ)

2. ํ•จ์ˆ˜ inline ๊ฐ€๋Šฅ

๋žŒ๋‹ค๋Š” ์ด๋ฆ„์€ ์—†์ง€๋งŒ ๊ณ ์œ ํ•œ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋žŒ๋‹ค์˜ ์ด๋ฆ„๊ณผ ์–ด๋–ค ํƒ€์ž…์œผ๋กœ ์ •์˜๋˜์–ด์žˆ๋Š”์ง€ ๋ชฐ๋ผ๋„ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ๋žŒ๋‹ค๋ผ๋Š” ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ•˜์ง€๋งŒ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ„์ ‘ ์ „๋‹ฌ์ด ๋˜๊ฑฐ๋‚˜ ๋ช…ํ™•ํ•œ ๋ช…์‹œ๊ฐ€ ์—†์œผ๋ฉด ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๋‹ค๋ฆ„์ด ์—†๋‹ค.

 

 

 

 

Reference

https://en.cppreference.com/w/cpp/language/lambda

 

https://hwan-shell.tistory.com/84

 

C++ Lambda ์‚ฌ์šฉ ์ด์œ ์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

C++์—๋Š” lambda๋ผ๋Š” ๋ฌธ๋ฒ•์ด ์กด์ œํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ์ด lambda๋Š” boost๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜์˜€์ง€๋งŒ ์ง€๊ธˆ์€ modern c++๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ ์ด ๊ธฐ๋Šฅ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (ํ˜„์žฌ modern c++์€

hwan-shell.tistory.com

https://www.youtube.com/watch?v=mWgmBBz0y8c&ab_channel=TheCherno 

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ““ STUDY' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[C++] cbegin, crbegin, cend, crend  (0) 2022.12.05
    '๐Ÿ““ STUDY' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [C++] cbegin, crbegin, cend, crend
    JuneBee
    JuneBee
    โ‚Šหš.๐ŸŽง๐Ÿ““ ๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ๐“‚ƒ๐Ÿ–Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”