{"id":34052,"date":"2020-04-27T16:37:51","date_gmt":"2020-04-27T07:37:51","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kr\/?p=737"},"modified":"2020-07-01T13:16:10","modified_gmt":"2020-07-01T13:16:10","slug":"resharper-c-2020-1-ko","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/ko\/2020\/04\/27\/resharper-c-2020-1-ko\/","title":{"rendered":"ReSharper C++ 2020.1: C++20 \uc2e0\uaddc \uae30\ub2a5, \ud5a5\uc0c1\ub41c \ucf54\ub529 \uc9c0\uc6d0, HLSL \uc9c0\uc6d0 \ub4f1"},"content":{"rendered":"\uae30\uc05c \ub9c8\uc74c\uc73c\ub85c \uc62c\ud574 \uccab \uc8fc\uc694 \ub9b4\ub9ac\uc2a4 \uc18c\uc2dd\uc744 \uc804\ud574\ub4dc\ub9bd\ub2c8\ub2e4! EAP\uac00 \uc2dc\uc791\ub41c \uc774\ud6c4 \uc800\ud76c \ud300\uc740 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c \uc5f0\uc7ac\ub97c \ud1b5\ud574 \uac1c\uc120 \uc0ac\ud56d \ubc0f \uc2e0\uaddc \uae30\ub2a5\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uc548\ub0b4\ud574 \ub4dc\ub838\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc9c0\ub09c \uc5c5\ub370\uc774\ud2b8\uc5d0 \ub300\ud55c \uc694\uc57d\uacfc \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc8fc\uc694 \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcfc \ucc28\ub840\uc785\ub2c8\ub2e4!\r\n\r\nReSharper C++ 2020.1 \ubc84\uc804\uc5d0\ub294 \ucd5c\uc2e0 C++20 \uc5c5\ub370\uc774\ud2b8 \uc0ac\ud56d\uc774 \ubc18\uc601\ub418\uc5b4 \uc788\uc73c\uba70, \ud5a5\uc0c1\ub41c \ucf54\ub529 \uc9c0\uc6d0 \ubc0f \ud0d0\uc0c9 \uae30\ub2a5\uc744 \uc120\ubcf4\uc785\ub2c8\ub2e4. \ub610\ud55c Unreal Engine 4 \ubc0f HLSL \uc9c0\uc6d0\uc73c\ub85c \uc0dd\uc0b0\uc131\uc744 \ub354\uc6b1 \ub192\uc600\uc2b5\ub2c8\ub2e4. \uc544\ub798 \uae00\uc744 \ud1b5\ud574 \uc774\uc640 \uad00\ub828\ub41c \uc790\uc138\ud55c \ub0b4\uc6a9 \ubc0f 2020.1 \ubc84\uc804\uc758 \uae30\ud0c0 \ubcc0\uacbd \ub0b4\uc6a9\uc744 \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\nC++20 \uc9c0\uc6d0\r\nUnreal Engine 4\r\nHLSL \uc9c0\uc6d0\r\n\ucf54\ub4dc \ubd84\uc11d \ubc0f \ube60\ub978 \uc218\uc815\r\n\ucf54\ub529 \uc9c0\uc6d0\r\n\ucf54\ub4dc \uc2a4\ud0c0\uc77c \ubc0f \uc11c\uc2dd \uc9c0\uc815\r\n\uc5f4\uac70\ud615 \ub9ac\ud329\ud1a0\ub9c1\r\n\ud0d0\uc0c9 \uac1c\uc120 \uc0ac\ud56d\r\n\uc720\ub2db \ud14c\uc2a4\ud2b8\r\n\r\n\uc0c8 \ubc84\uc804\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ud558\uac70\ub098 30\uc77c \ubb34\ub8cc \ud3c9\uac00\ud310\uc744 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694. \ucd5c\uc2e0 \ube4c\ub4dc\ub294 \uc6f9\uc0ac\uc774\ud2b8 \ubc0f Toolbox App\uc5d0\uc11c \uc81c\uacf5\ub429\ub2c8\ub2e4.\r\nRESHARPER C++ 2020.1 \ub2e4\uc6b4\ub85c\ub4dc\r\n\r\nC++20 \uc9c0\uc6d0\r\n\ud504\ub77c\ud558\uc5d0\uc11c \uc5f4\ub9b0 2\uc6d4 \ud68c\uc758\uc5d0\uc11c ISO C++ \uc704\uc6d0\ud68c\ub294 C++20\uc758 \uae30\uc220\uc801 \uc791\uc5c5\uc744 \ub9c8\ubb34\ub9ac\ud558\uc5ec C++20 Committee Draft(\uc704\uc6d0\ud68c \ucd08\uc548)\uc744 \uc644\uc131\ud588\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c ReSharper C++ 2020.1 \ubc84\uc804\uc740 \ucd5c\uc2e0 \uc5b8\uc5b4 \ud45c\uc900\uc5d0 \ub530\ub978 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\uc9c0\uc815\ub41c \uc5f4\uac70\uc790\ub97c \ub85c\uceec \ubc94\uc704\ub85c \uac00\uc838\uc62c \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud558\uace0\uc790 C++20\uc740 using \uc120\uc5b8\uc744 \uac1c\uc120\ud588\uc2b5\ub2c8\ub2e4(P1099 \ucc38\uc870). \uc0c8\ub85c\uc6b4 using enum \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uba74 \ub300\uc0c1 \uc5f4\uac70\ud615\uc5d0\uc11c \ubaa8\ub4e0 \uc5f4\uac70\uc790\ub97c \ucd94\uac00\ud558\uace0 \uc774\ub984 \uc911\ubcf5\uc744 \uc0ad\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. ReSharper C++ 2020.1\uc5d0\ub294 using enum \uc120\uc5b8 \ubc0f \uc2e0\uaddc \ub9ac\ud329\ud1a0\ub9c1 Introduce Using Enum(Using Enum \uc0bd\uc785) \uc9c0\uc6d0\uc774 \ucd94\uac00\ub418\uc5b4 \uae30\uc874 \ucf54\ub4dc\uc5d0 using enum \uc120\uc5b8\uc744 \uc190\uc27d\uac8c \ucd94\uac00\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\nC++20 Concepts\uc5d0\ub294 \uc81c\ud55c\ub41c \uc720\ud615\uc758 \ud50c\ub808\uc774\uc2a4\ud640\ub354 \ubc0f \ucd95\uc57d\ud615 \ud568\uc218 \ud15c\ud50c\ub9bf\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc774 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4(P1141 \ucc38\uc870) \uc774\uc81c \ucee8\uc149\uc73c\ub85c auto \uc720\ud615\uc744 \uc81c\ud55c\ud558\uace0 \ub9e4\uac1c\ubcc0\uc218 \ubaa9\ub85d\uc758 auto \ub610\ub294 concept auto \ud50c\ub808\uc774\uc2a4\ud640\ub354\ub97c \ud65c\uc6a9\ud574 \ud15c\ud50c\ub9bf \ud568\uc218\ub97c \uc120\uc5b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, \ucda9\uc871\ub418\uc9c0 \uc54a\uc740 \uc81c\uc57d \uc870\uac74\uc5d0 \ub300\ud55c \uc624\ub958 \uba54\uc2dc\uc9c0\uac00 \uac1c\uc120\ub418\uc5b4 \ud15c\ud50c\ub9bf \uce58\ud658 \uacfc\uc815\uc758 \uc624\ub958\ub97c \ubcf4\ub2e4 \uc798 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\ub9c8\uc9c0\ub9c9\uc73c\ub85c ReSharper C++\ub294 \ub78c\ub2e4\uc6a9 C++20 \ud15c\ud50c\ub9bf \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\ub294 \uc0c8\ub85c\uc6b4 \ube60\ub978 \uc218\uc815 \uae30\ub2a5(P0428 \ucc38\uc870)\uc744 \ub354\ud574 \ub354\uc6b1 \uac04\uacb0\ud55c \ucf54\ub4dc \uc791\uc131\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ub78c\ub2e4 \ub9e4\uac1c\ubcc0\uc218\uc5d0\uc11c decltype\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0\ub3c4 \ub78c\ub2e4 \uc815\ubc29\ud5a5 \uad6c\ubb38\uc5d0 \uc801\ud569\ud55c \uc720\uc0ac \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc55e\uc73c\ub85c\ub3c4 C++20 \uc9c0\uc6d0\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uac1c\uc120\ud560 \uc608\uc815\uc785\ub2c8\ub2e4. \ud604\uc7ac constexpr \ud568\uc218 \ud3c9\uac00\ub97c \uac1c\uc120 \uc911\uc5d0 \uc788\uc73c\uba70 3\ubc29\ud5a5 \ube44\uad50 \"\uc6b0\uc8fc\uc120\" \uc5f0\uc0b0\uc790\uc5d0 \ub300\ud55c \uc9c0\uc6d0\ub3c4 \ucd94\uac00\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub9ce\uc740 \uad00\uc2ec \ubd80\ud0c1\ub4dc\ub9bd\ub2c8\ub2e4!\r\nUnreal Engine 4\r\nReSharper C++ 2020.1 \ubc84\uc804\uc5d0\uc11c\ub294 Unreal Engine \ucf54\ub529 \ud45c\uc900\uc5d0 \ub300\ud55c \uc801\ud569\uc131\uc774 \uac1c\uc120\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub530\ub77c \ucf58\uc194 \ubcc0\uc218 \ubc0f \ub85c\uadf8 \uce74\ud14c\uace0\ub9ac\ub97c \ucc98\ub9ac\ud558\ub294 \uc774\ub984 \uc9c0\uc815 \uaddc\uce59\uc774 \uc5c5\ub370\uc774\ud2b8\ub418\uc5c8\uc73c\uba70, UE4 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c Use auto(\uc790\ub3d9 \uc0ac\uc6a9) \uac80\uc0ac\uac00 \uae30\ubcf8\uc801\uc73c\ub85c \uc228\uae40 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\r\n\ud074\ub798\uc2a4 \ub610\ub294 \ud30c\uc77c \uc774\ub984 \ubcc0\uacbd \uc2dc\uc5d0\ub294 Rename(\uc774\ub984 \ubcc0\uacbd) \ub9ac\ud329\ud1a0\ub9c1\uc73c\ub85c *.generated.h include \uc9c0\uc2dc\ubb38 \ubc0f  A, F, E, T, S, U \uc811\ub450\uc5b4\ub97c \uc0ac\uc6a9\ud558\ub294 \uad00\ub828 \ud30c\uc77c\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uc774\uc81c Unreal Engine USF \ud30c\uc77c\uc774 \uac00\uc0c1 \ud30c\uc77c \uacbd\ub85c\uc640 \ud568\uaed8 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\r\n\uc0ac\uc18c\ud558\uc9c0\ub9cc \uc720\uc6a9\ud55c \ud0d0\uc0c9 \uae30\ub2a5 \uac1c\uc120: \uc774\uc81c Search Everywhere\/Go to\uc5d0\uc11c Unreal Engine \uc2a4\ud0c0\uc77c\uc758 \uc5f4\uac70\ud615\uc744 \ud3ec\ud568\ud558\ub294 \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \ud0d0\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\ub610\ud55c ReSharper C++ 2020.1 \ubc84\uc804\uc5d0\ub294 Unreal Engine 4 \ud3ec\ud06c\uc778 SpatialOS GDK\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc774 \ucd94\uac00\ub418\uc5b4 \ud074\ub77c\uc6b0\ub4dc \ud658\uacbd\uc5d0\uc11c \uc628\ub77c\uc778 \uac8c\uc784\uc758 \uc2e4\ud589 \ubc0f \uad00\ub9ac\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4.\r\n\r\n\ub9c8\uc9c0\ub9c9\uc73c\ub85c ReSharper C++ 2020.1 \ubc84\uc804\uc740 \ub2e4\uc74c Unreal Engine 4.25 \ub9b4\ub9ac\uc2a4\uc640 \ud638\ud658\uc131\uc744 \uace0\ub824\ud558\uc5ec \uc81c\uc791\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc804 \ubc84\uc804\uc758 ReSharper C++\ub85c UE 4.25 \ud504\ub85c\uc81d\ud2b8 \uc791\uc5c5 \uc2dc\uc5d0\ub294 \u201cRead project properties asynchronously(\ud504\ub85c\uc81d\ud2b8 \uc18d\uc131\uc744 \ube44\ub3d9\uae30\uc2dd\uc73c\ub85c \uc77d\uae30)\u201d \uc124\uc815\uc744 \uc78a\uc9c0 \ub9d0\uace0 \uc120\ud0dd \ud574\uc81c\ud558\uc138\uc694. \uc774 \uc124\uc815\uc740 ReSharper | Options(\uc635\uc158) | Code Editing(\ucf54\ub4dc \ud3b8\uc9d1) | C++ | Performance(\uc131\ub2a5)\uc5d0\uc11c \ud655\uc778\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\nHLSL \uc9c0\uc6d0\r\nReSharper C++ 2020.1 \ubc84\uc804\uc5d0\uc11c \uac8c\uc784 \uac1c\ubc1c\uacfc \uad00\ub828\ub41c \uae30\ub2a5\uc744 \ud55c \uac00\uc9c0 \ub354 \uc120\ubcf4\uc785\ub2c8\ub2e4. \ubc14\ub85c High Level Shading Language(\uace0\uae09 \uc170\uc774\ub529 \uc5b8\uc5b4, HLSL) \uc870\uae30 \uc9c0\uc6d0\uc785\ub2c8\ub2e4. HLSL \uc9c0\uc6d0\uc5d0 \ub300\ud55c \uc9e4\ub9c9\ud55c \ub370\ubaa8\ub97c \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\nReSharper C++\ub294 \uae30\ubcf8 \uc0c9 \uad6c\uc131\ud45c\uc5d0 \ub530\ub77c HLSL \ucf54\ub4dc\ub97c \uac15\uc870 \ud45c\uc2dc\ud558\uba70 \uc720\ud615 \uc815\ubcf4, \ubb38\uc11c\uac00 \ud3ec\ud568\ub41c \ucf54\ub4dc \uc694\uc18c\uc5d0 \ub300\ud55c \ud234\ud301 \ubc0f \uc0bd\uc785\ub41c \ud78c\ud2b8\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\r\n\r\n\uadf8\ubfd0 \uc544\ub2c8\ub77c \uc804\uccb4 \uc194\ub8e8\uc158, \ucc38\uc870\ub41c \ud30c\uc77c \ubc0f \ud45c\uc900 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uad6c\uc870\uccb4, \ud568\uc218 \ub610\ub294 \ub9e4\uac1c\ubcc0\uc218\ub97c \uac80\uc0c9\ud558\uace0 \ube60\ub974\uac8c \ud0d0\uc0c9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.\r\n\ub610\ud55c \uc644\ubcbd\ud55c HLSL \uacbd\ud5d8\uc744 \uc704\ud574 ReSharper C++\ub294 \ucf54\ub4dc \uc644\uc131 \ubaa9\ub85d\uc758 \uc2a4\ub9c8\ud2b8 \uc81c\uc548, \uc785\ub825\ub41c \ub9e4\uac1c\ubcc0\uc218\uc640 \ud638\ud658 \uac00\ub2a5\ud55c \uc2dc\uadf8\ub2c8\ucc98 \uac15\uc870 \ud45c\uc2dc, \uc77c\uce58\ud558\ub294 \uad6c\ubd84\uc790 \uc790\ub3d9 \uc0bd\uc785 \uae30\ub2a5 \ub4f1\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\r\nHLSL \uc9c0\uc6d0\uc740 \uc544\uc9c1 \uac1c\ubc1c \ucd08\uae30 \ub2e8\uacc4\uc5d0 \uc788\uc73c\ubbc0\ub85c \uba87 \uac00\uc9c0 \uc81c\ud55c \uc0ac\ud56d\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4. \ub2e4\uc74c \ub9b4\ub9ac\uc2a4\uc5d0\uc11c\ub294 \uae30\ubcf8 \ub0b4\uc7a5 \ud568\uc218\uc758 \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc744 \uac1c\uc120\ud558\uace0 \uc0c1\uc218\uc640 \ud14d\uc2a4\ucc98 \ubc84\ud37c\uc5d0 \ub300\ud55c \ub354\uc6b1 \ud5a5\uc0c1\ub41c \uac80\uc0c9 \ubc0f \ud0d0\uc0c9 \uae30\ub2a5\uc744 \uc120\ubcf4\uc77c \uc608\uc815\uc785\ub2c8\ub2e4.\r\n\ucf54\ub4dc \ubd84\uc11d \ubc0f \ube60\ub978 \uc218\uc815\r\nstatic_cast\ub97c \uc0ac\uc6a9\ud560 \uacbd\uc6b0 \uc0c8 \uac80\uc0ac\uc5d0\uc11c \ub354 \ub9ce\uc740 \uc0ac\ub840\ub97c \ud0d0\uc9c0\ud558\uace0 \uc801\uc808\ud55c \ube60\ub978 \uc218\uc815\uc744 \uc81c\uc548\ud558\uc5ec \ucf54\ub4dc\ub97c \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\nvoid*\uc5d0 \ud615 \ubcc0\ud658 \uc2dc static_cast\ub300\uc2e0 reinterpret_cast \uc0ac\uc6a9.\r\nC++ \ud615 \ubcc0\ud658 \ub300\uc2e0 \ud568\uc218 \uc2a4\ud0c0\uc77c \ud615 \ubcc0\ud658 \uc0ac\uc6a9.\r\n\r\n\r\n\uadf8\ubfd0 \uc544\ub2c8\ub77c \ub78c\ub2e4\uc2dd\uc744 \uc704\ud55c \ube60\ub978 \uc218\uc815\uc744 \uc81c\uc548\ud558\ub294 \uac80\uc0ac \ub450 \uac1c\ub3c4 \uc0c8\ub86d\uac8c \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \ub78c\ub2e4 \ucea1\ucc98 - \ub85c\uceec \ubcc0\uc218\uac00 \ub78c\ub2e4\ub85c \ucea1\ucc98\ub418\uc5c8\uc9c0\ub9cc \ub78c\ub2e4 \ubcf8\ubb38\uc5d0\uc11c \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0 ReSharper C++\uac00 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \ub78c\ub2e4\ub97c \uc54c\ub824\uc8fc\uace0 \ud574\ub2f9 \ub78c\ub2e4 \uc81c\uac70\ub97c \uc81c\uc548\ud569\ub2c8\ub2e4.\r\n\uba85\uc2dc\uc801 \ud15c\ud50c\ub9bf \ub9e4\uac1c\ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ub78c\ub2e4\ub97c \ub2e4\uc2dc \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. ReSharper C++\ub294 \ucf54\ub4dc \uac00\ub3c5\uc131 \uac1c\uc120\uc744 \uc704\ud574 \uc0c8\ub85c\uc6b4 \u0421++20 \ub78c\ub2e4 \ud15c\ud50c\ub9bf \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc81c\uc548\ud569\ub2c8\ub2e4.\r\n\r\n\r\nC++17 maybe_unused \uc18d\uc131\uc744 \uc801\uc6a9\ud558\ub294 \ub370 \uc720\uc6a9\ud55c \ub450 \uac00\uc9c0 \uae30\ub2a5:\r\n\r\nUNREFERENCED_PARAMETER \ubc0f Q_UNUSED \uc5b4\ub178\ud14c\uc774\uc158\uc744 [[maybe_unused]] \uc18d\uc131\uc73c\ub85c \uad50\uccb4\ud558\ub294 \ucee8\ud14d\uc2a4\ud2b8 \uc561\uc158.\r\n\uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc740 \ub9e4\uac1c\ubcc0\uc218 \ub610\ub294 \ubcc0\uc218\uc5d0 [[maybe_unused]] \uc18d\uc131\uc744 \ucd94\uac00\ud558\ub294 \ube60\ub978 \uc218\uc815.\r\n\r\n\r\n\r\n\uae30\ubcf8 \uc81c\uacf5\ub418\ub294 Clang-Tidy \ubc14\uc774\ub108\ub9ac\ub3c4 Clang 10\uc73c\ub85c \uc5c5\uadf8\ub808\uc774\ub4dc\ud558\uc5ec 70\uac1c\uc758 \uc2e0\uaddc \uac80\uc0ac \ubc0f \ucef4\ud30c\uc77c\ub7ec \uc9c4\ub2e8\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\ucf54\ub529 \uc9c0\uc6d0\r\n\uc774\uc81c .NET\uc6a9 ReSharper\uc5d0 \ud3ec\ud568\ub41c \ub450 \uac00\uc9c0 \uc778\uae30 \uae30\ub2a5\uc778 Rearrange Code(\ucf54\ub4dc \uc7ac\uc815\ub82c) \ubc0f Complete Statement(\uad6c\ubb38 \uc644\uc131)\uc744 ReSharper C++\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\ucf54\ub4dc \uc7ac\uc815\ub82c \uae30\ub2a5\uc740 \ucf54\ub4dc \uc694\uc18c\uc758 \ube60\ub978 \uc774\ub3d9 \ubc0f \ud604\uc7ac \ubc94\uc704\uc758 \ud655\uc7a5 \ud639\uc740 \ucd95\uc18c \ub4f1\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \ucf54\ub4dc \uc694\uc18c\ub97c \uc120\ud0dd\ud558\uace0 Ctrl+Shift+Alt\ub97c \ub204\ub974\uac70\ub098 \uc774\ub3d9\ud558\uace0 \uc2f6\uc740 \ubd80\ubd84\uc744 \uc120\ud0dd \ud6c4 \ubc29\ud5a5\ud0a4\ub97c \ub204\ub974\uba74 \ub429\ub2c8\ub2e4.\r\n\r\nMove up(\uc704\ub85c \uc774\ub3d9) \ubc0f Move down(\uc544\ub798\ub85c \uc774\ub3d9) \uba85\ub839\uc5b4\ub97c \uc0ac\uc6a9\ud558\uba74 \ud2b9\uc815 \ubc94\uc704\uc758 \uc694\uc18c\ub97c \ud574\ub2f9 \ubc94\uc704\uc758 \uae30\ud0c0 \uc694\uc18c\uc5d0 \ub530\ub77c \ud639\uc740 \uc778\uc811\ud55c \ubc94\uc704\uc5d0\uc11c \uc704\uc544\ub798\ub85c \ub2e4\uc2dc \uc815\ub82c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\nMove left(\uc67c\ucabd\uc73c\ub85c \uc774\ub3d9) \ubc0f Move right(\uc624\ub978\ucabd\uc73c\ub85c \uc774\ub3d9) \uba85\ub839\uc5b4\ub97c \uc0ac\uc6a9\ud558\uba74 \uc77c\ubc18\uc801\uc73c\ub85c \ud55c \uc904\uc5d0 \uc801\ud78c \ucf54\ub4dc \uc694\uc18c\ub97c \uc7ac\uc815\ub82c\ud558\uac70\ub098, \uad6c\ubb38\uc774\ub098 \uc120\uc5b8\uc744 \ub2e4\uc74c \uc601\uc5ed \ud639\uc740 \ud604\uc7ac \uc601\uc5ed \uc678\ubd80\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\r\n\uad6c\ubb38 \uc644\uc131 \uae30\ub2a5\uc740 \ud544\uc218 \uad6c\ubb38 \uc694\uc18c\ub97c \uc0bd\uc785\ud558\uc5ec \ud604\uc7ac \uad6c\ubb38\uc744 \uc644\uc131\ud558\uace0 \uce90\ub7ff\uc744 \uc801\uc808\ud55c \uc790\ub9ac\uc5d0 \ubc30\uce58\ud569\ub2c8\ub2e4. Ctrl+Shift+Enter \ub2e8\ucd95\ud0a4\ub97c \uc0ac\uc6a9\ud558\uba74 \uc5ec\ub7ec \uac1c\uc758 \uc791\uc740 \uc561\uc158\uc744 \uc218\ud589\ud558\uc9c0 \uc54a\uace0\ub3c4 \uad6c\ubb38 \uc644\uc131\uc774 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\r\nVisual Studio \ub2e8\ucd95\ud0a4 Ctrl+\/\ub85c \uc2e0\uaddc Document(\ubb38\uc11c) \uc5d0\ub514\ud130 \uc561\uc158\uc744 \ud65c\uc6a9\ud558\uba74 \ucee8\ud14d\uc2a4\ud2b8 \uc561\uc158\uc744 \uc0ac\uc6a9\ud558\ub294 \ub300\uc2e0 \uadfc\ucc98 \ucf54\ub4dc \uc694\uc18c\uc5d0 \ubb38\uc11c \uc8fc\uc11d\uc744 \ube60\ub974\uac8c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc774\uc81c \ucf54\ub4dc \uc644\uc131 \ubaa9\ub85d\uc5d0 \ub77c\ubca8 \uc774\ub984, \ud45c\uc900 C++ \uc18d\uc131, goto \uad6c\ubb38 \ub77c\ubca8 \uc774\ub984, \uc0c8 std::forward \uc811\ubbf8\uc5b4 \ud15c\ud50c\ub9bf, \uae30\ubcf8 \ud568\uc218 \ud638\ucd9c \uc778\uc218\uac00 \uc81c\uc548\uc73c\ub85c \ud45c\uc2dc\ub429\ub2c8\ub2e4. \ub610\ud55c, \ub9e4\ud06c\ub85c \uc815\uc758\uc5d0\uc11c\ub3c4 \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc774 \uc791\ub3d9\ud569\ub2c8\ub2e4.\r\n\r\nReSharper C++ \uac1c\ubc1c \ud658\uacbd\uc5d0\uc11c \ub9e4\uac1c\ubcc0\uc218 \ubc0f \uc720\ud615 \uc774\ub984 \ud78c\ud2b8\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4(\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub4e0 \ud78c\ud2b8\ub294 \ub2e4\uc74c \uac8c\uc2dc\ubb3c\uc5d0\uc11c \ud655\uc778\ud558\uc138\uc694). \uc774\uc81c \uc885\uc18d \ucf54\ub4dc\uc5d0\uc11c\ub3c4 \ud78c\ud2b8\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\ub610\ud55c \uac1c\uc120\ub41c \uc785\ub825 \uc9c0\uc6d0\uc744 \ud1b5\ud574 \ubaa8\ub4e0 \ucf54\ub4dc \uc870\uac01\uc744 \uc120\ud0dd\ud558\uace0 \uc120\ud0dd\ub41c \ucf54\ub4dc\ub97c \uac10\uc2f8\uae30 \uc704\ud55c \ub300\uad04\ud638, \uc911\uad04\ud638, \uc18c\uad04\ud638 \ub610\ub294 \ub530\uc634\ud45c\ub97c \uadf8\uc5d0 \ub300\uc751\ud558\ub294 \ubb38\uc790\ub85c \uc785\ub825\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\ucf54\ub4dc \uc2a4\ud0c0\uc77c \ubc0f \uc11c\uc2dd \uc9c0\uc815\r\n\uc5ec\ub7ec \uac1c\uc120 \uc0ac\ud56d\uacfc \ub354\ubd88\uc5b4 ReSharper C++ 2020.1\uc758 \uc11c\uc2dd \uc9c0\uc815 \uc5d4\uc9c4\ub3c4 C++20 Concept \uad6c\ubb38\uc744 \uc644\uc804\ud788 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ub610\ud55c \ud074\ub798\uc2a4 \uba64\ubc84\uc758 \uc774\uc911 \ub4e4\uc5ec\uc4f0\uae30 \uc635\uc158, \ub78c\ub2e4 \ub9e4\uac1c\ubcc0\uc218\uc5d0\uc11c \uad04\ud638 \uc55e\uc758 \ub744\uc5b4\uc4f0\uae30 \uc81c\uc5b4 \uc635\uc158 \ub4f1 \ub2e4\uc591\ud55c \uc11c\uc2dd \uc9c0\uc815 \uc635\uc158\uc774 \uc0c8\ub86d\uac8c \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\nIn ReSharper C++ 2019.3 \ubc84\uc804\uc5d0\uc11c #include \uc9c0\uc2dc\ubb38 \uc815\ub82c \uae30\ub2a5\uc744 \ub3c4\uc785\ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c\ub294 .clang-format \ud30c\uc77c\uc758 \uc815\ub82c \uc124\uc815\uc744 \ubd88\ub7ec\uc624\ub294 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uc600\uc2b5\ub2c8\ub2e4. ReSharper | Options(\uc635\uc158) | Code Editing(\ucf54\ub4dc \ud3b8\uc9d1) | General Formatter Style(\uc77c\ubc18 \uc11c\uc2dd \uc9c0\uc815 \ub3c4\uad6c \uc2a4\ud0c0\uc77c) \uc124\uc815 \ud398\uc774\uc9c0\uc5d0\uc11c Read code style from .clang-format style(.clang-format \uc2a4\ud0c0\uc77c\uc5d0\uc11c \ucf54\ub4dc \uc2a4\ud0c0\uc77c \uc77d\uae30) \uc635\uc158\uc744 \uc120\ud0dd\ud558\uc138\uc694. ReSharper C++\uac00 .clang-format \ud30c\uc77c\uc758 IncludeBlocks, IncludeCategories, IncludeIsMainRegex \ubc0fSortIncludes \uc124\uc815\uc744 \uc0ac\uc6a9\ud574 clang-format\uacfc \ub3d9\uc77c\ud55c \ubc29\uc2dd\uc73c\ub85c #include \uc9c0\uc2dc\ubb38\uc744 \uc815\ub82c\ud569\ub2c8\ub2e4.\r\n\ub610\ud55c ReSharper C++ 2020.1\uc5d0\ub294 \ub450 \uac00\uc9c0 \ucd94\uac00\uc801\uc778 \uc124\uc815\uc774 \ub3c4\uc785\ub418\uc5b4 #includes \uc815\ub82c \ub3d9\uc791\uc744 \ub354\uc6b1 \uc6d0\ud65c\ud558\uac8c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\nCase-sensitive sort \u2013 \ub300\ubb38\uc790\ub85c \uc2dc\uc791\ud558\ub294 \ubaa8\ub4e0 include \uc9c0\uc2dc\ubb38\uc744 \uc18c\ubb38\uc790\ub85c \uc2dc\uc791\ud558\ub294 \uc9c0\uc2dc\ubb38\ubcf4\ub2e4 \uba3c\uc800 \ubc30\uce58\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\r\n\ub514\ub809\ud1a0\ub9ac\ubcc4 \uadf8\ub8f9 \ud5e4\ub354 \u2013 \ud30c\uc77c \uacbd\ub85c\uc5d0 \ub530\ub77c \ud5e4\ub354 \uadf8\ub8f9\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\r\n\r\n\r\n\uc5f4\uac70\ud615 \ub9ac\ud329\ud1a0\ub9c1\r\nC++11 \ubc0f C++20 \ud45c\uc900\uc5d0\uc11c \ubcc0\uacbd\ub41c \uc5b8\uc5b4\uc5d0 \ub530\ub77c enum \uc0ac\uc6a9\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \ub450 \uac00\uc9c0 \uc2e0\uaddc \ub9ac\ud329\ud1a0\ub9c1\uc744 \ucd94\uac00\ud558\uc600\uc2b5\ub2c8\ub2e4.\r\nConvert to Scoped Enum(\ubc94\uc704\uac00 \uc9c0\uc815\ub41c \uc5f4\uac70\ud615\uc73c\ub85c \ubcc0\ud658) \ub9ac\ud329\ud1a0\ub9c1\uc744 \ud65c\uc6a9\ud558\uba74 C \uc2a4\ud0c0\uc77c \uc5f4\uac70\ud615 \uc120\uc5b8\uc774 \ubc94\uc704\uac00 \uc9c0\uc815\ub41c C++11 \uc5f4\uac70\ud615\uc73c\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4.\r\n\uc774 \ub9ac\ud329\ud1a0\ub9c1\uc740 \ubaa8\ub4e0 \uc5f4\uac70\ud615 \uc120\uc5b8\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uba70 \uc5f4\uac70\uc790 \ucc38\uc870\ub97c \ud55c\uc815\ud569\ub2c8\ub2e4. \ub610\ud55c, \uc5f4\uac70\ud615 \uc720\ud615 \uac12\uc774 \ud1b5\ud569 \uc720\ud615\uc758 \uba85\uc2dc\uc801 \ud615 \ubcc0\ud658\uc77c \uacbd\uc6b0 ReSharper C++\uc5d0\uc11c \uadf8 \ub0b4\uc6a9\uc744 \uacbd\uace0\ud558\uace0 \ud574\ub2f9 \uc720\ud615\uc5d0 \uc790\ub3d9\uc73c\ub85c static_cast\ub97c \uc0bd\uc785\ud569\ub2c8\ub2e4.\r\nIntroduce Using Enum(Using Enum \uc0bd\uc785) \ub9ac\ud329\ud1a0\ub9c1\uc744 \ud1b5\ud574 \uc5f4\uac70\ud615 \uc120\uc5b8\uc744 \uc0ac\uc6a9\ud558\ub294 C++20\uc744 \ud604\uc7ac \ubc94\uc704\uc5d0 \ucd94\uac00\ud558\uace0 \uc5f4\uac70\uc790 \ucc38\uc870\uc758 \uae38\uc774\ub97c \uc904\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\ud0d0\uc0c9 \uac1c\uc120 \uc0ac\ud56d\r\nReSharper C++ 2020.1 \ubc84\uc804\uc740 \uc8fc\uc11d\uc5d0 \uc788\ub294 \uc77c\uce58\ud558\ub294 \ub2e8\uc5b4\uc5d0\uc11c \uc2ec\ubcfc \uc120\uc5b8\uc73c\ub85c \uc774\ub3d9\ud558\ub294 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. Ctrl \ud0a4\ub97c \ub204\ub978 \uc0c1\ud0dc\ub85c \ud639\uc740 \ub9c8\uc6b0\uc2a4 \uc2a4\ud06c\ub864 \ubc84\ud2bc\uc73c\ub85c \uc774\ub984\uc744 \ud074\ub9ad\ud558\uc138\uc694. \uc2a4\ud06c\ub864 \ubc84\ud2bc \ud0d0\uc0c9 \uc5ed\uc2dc \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc785\ub2c8\ub2e4.\r\n\r\nSearch Everywhere\/Go to(\uc804\uccb4 \uac80\uc0c9\/\uc774\ub3d9)\uc5d0 concepts\uacfc \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub77c\ub294 \ub450 \uac00\uc9c0 \ud544\ud130 \uce74\ud14c\uace0\ub9ac\uac00 \uc0c8\ub86d\uac8c \ud3ec\ud568\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uac80\uc0c9\ucc3d\uc5d0 \u201c\/\u201d\ub97c \uc785\ub825\ud558\uc5ec \uc774\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub4e0 \ud544\ud130\ub97c \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\n\uc774\uc81c File Structure(\ud30c\uc77c \uad6c\uc870) \ucc3d\uc5d0\uc11c \ub2e4\uc74c \uc544\uc774\ucf58 \ud45c\uc2dc\uae30\ub85c \ube60\ub978 \ud30c\uc77c \ud0d0\uc0c9\uc758 \uc138\ubd80 \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\ud074\ub798\uc2a4 \uba64\ubc84 \uc811\uadfc\uc131\r\nvirtual, static, pure \uc9c0\uc815\uc790\r\n\ud568\uc218\uac00 \uae30\ubcf8 \ud568\uc218\ub97c \uc7ac\uc815\uc758, \uad6c\ud604\ud558\uac70\ub098 \uc228\uae38 \uacbd\uc6b0 \ud074\ub798\uc2a4 \uba64\ubc84 \uc0c1\uc18d \uc815\ubcf4\r\n\r\n\r\n\uc720\ub2db \ud14c\uc2a4\ud2b8\r\nmock \uba54\uc18c\ub4dc \uc0dd\uc131\uae30\uac00 GTest 1.10\uc5d0 \ub3c4\uc785\ub41c MOCK_METHOD \ub9e4\ud06c\ub85c\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uae30\uc874 GTest \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \uc0ac\uc6a9\ub418\uc5c8\ub358 MOCK_(const_)METHODn() \ub9e4\ud06c\ub85c \uae30\ub2a5\uc740 \uc0ad\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\nReSharper C++ \ud14c\uc2a4\ud2b8 \ub7ec\ub108\ub294 \ubc84\ud37c\uac00 \uc5c6\ub294 \ucd9c\ub825 \uacb0\uacfc\ub97c \uc77d\ub294 \ud558\uc704 \ud14c\uc2a4\ud2b8 \ud504\ub85c\uc138\uc2a4\uc640 \ud1b5\uc2e0\ud558\uae30 \uc704\ud574 \uc774\ub984\uc774 \uc9c0\uc815\ub41c \ud30c\uc774\ud504\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc77c\ubd80 \ud658\uacbd\uc5d0\uc11c\ub294 \ubcf4\uc548 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub85c \uc778\ud574 \uc774\ub984\uc774 \uc9c0\uc815\ub41c \ud30c\uc774\ud504\uac00 \uc624\uc791\ub3d9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. Use named pipes to communicate with child processes(\ud558\uc704 \ud504\ub85c\uc138\uc2a4\uc640 \ud1b5\uc2e0\uc5d0 \uc774\ub984 \uc9c0\uc815\ub41c \ud30c\uc774\ud504 \uc0ac\uc6a9) \uc124\uc815\uc774 \uc0c8\ub86d\uac8c \ucd94\uac00\ub418\uc5b4 \ud574\ub2f9 \uc635\uc158\uc744 \uc120\ud0dd \ud574\uc81c\ud558\uace0 \uc784\uc2dc \ud30c\uc77c\uc744 \ub300\uc2e0 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.\r\n\r\n\uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc2e0\uaddc \uae30\ub2a5 \ubc0f \ubc84\uadf8 \uc218\uc815 \uc804\uccb4 \ubaa9\ub85d\uc5d0\ub294 230\uac00\uc9c0 \uc774\uc0c1\uc758 \uc774\uc288\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\uba70, \ud574\ub2f9 \ubaa9\ub85d\uc740 \uc774\uc288 \ud2b8\ub798\ucee4\uc5d0\uc11c \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5b8\uc81c\ub4e0 \uc0c8 \uae30\ub2a5\uc744 \uc694\uccad\ud558\uac70\ub098 \uae30\uc874 \uc694\uccad\uc5d0 \uc88b\uc544\uc694\ub97c \ub20c\ub7ec\uc8fc\uc138\uc694. \uc6b0\ub9ac\ub294 \uc5ec\ub7ec\ubd84\uc758 \ud53c\ub4dc\ubc31\uc744 \uc5b8\uc81c\ub098 \ud658\uc601\ud569\ub2c8\ub2e4!\r\n\ub610\ud55c ReSharper \ud50c\ub7ab\ud3fc\uc5d0 \ub354 \ub9ce\uc740 \ubcc0\uacbd \uc0ac\ud56d\uc774 \ucd94\uac00\ub420 \uc608\uc815\uc774\uc624\ub2c8 \uc0c8\ub85c\uc6b4 \uae30\ub2a5 \ud398\uc774\uc9c0\ub3c4 \ud655\uc778\ud574\uc8fc\uc138\uc694. \r\nReSharper C++ 2020.1\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uace0 \uc5ec\ub7ec\ubd84\uc758 \uc758\uacac\uc744 \ub4e4\ub824\uc8fc\uc138\uc694!\r\nRESHARPER C++ 2020.1 \ub2e4\uc6b4\ub85c\ub4dc\r\nReSharper C++ \ud300\r\nJetBrains\r\nThe Drive to Develop\r\nReSharper C++ 2020.1: C++20 \uc2e0\uaddc \uae30\ub2a5, \ud5a5\uc0c1\ub41c \ucf54\ub529 \uc9c0\uc6d0, HLSL \uc9c0\uc6d0 \ub4f1 \uac8c\uc2dc\ubb3c\uc740 ReSharper C++ \ube14\ub85c\uadf8\uc5d0 \uac00\uc7a5 \uba3c\uc800 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\r\n\r\n\uc774 \uac8c\uc2dc\ubb3c\uc740 Elvira Mustafina\uac00 \uc791\uc131\ud55c ReSharper C++ 2020.1: New C++20 Features, Improved Coding Assistance, HLSL Support, and More\ub97c \ubc88\uc5ed\ud55c \uae00\uc785\ub2c8\ub2e4.","protected":false},"excerpt":{"rendered":"\uae30\uc05c \ub9c8\uc74c\uc73c\ub85c \uc62c\ud574 \uccab \uc8fc\uc694 \ub9b4\ub9ac\uc2a4 \uc18c\uc2dd\uc744 \uc804\ud574\ub4dc\ub9bd\ub2c8\ub2e4! EAP\uac00 \uc2dc\uc791\ub41c \uc774\ud6c4 \uc800\ud76c \ud300\uc740 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c \uc5f0\uc7ac\ub97c \ud1b5\ud574 \uac1c\uc120 \uc0ac\ud56d \ubc0f \uc2e0\uaddc \uae30\ub2a5\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uc548\ub0b4\ud574 \ub4dc\ub838\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc9c0\ub09c \uc5c5\ub370\uc774\ud2b8\uc5d0 \ub300\ud55c \uc694\uc57d\uacfc \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc8fc\uc694 \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcfc \ucc28\ub840\uc785\ub2c8\ub2e4!ReSharper C++ 2020.1 \ubc84\uc804\uc5d0\ub294 \ucd5c\uc2e0 C++20 \uc5c5\ub370\uc774\ud2b8 \uc0ac\ud56d\uc774 \ubc18\uc601\ub418\uc5b4 \uc788\uc73c\uba70, \ud5a5","protected":false},"author":{"name":"Jessie Cho","link":"https:\/\/blog.jetbrains.com\/ko\/author\/jessie-chojetbrains-com"},"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[907,3990],"tags":[486,4375],"cross-post-tag":[],"acf":[],"featured_image":null,"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34052"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=34052"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34052\/revisions"}],"predecessor-version":[{"id":52599,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34052\/revisions\/52599"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=34052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=34052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=34052"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=34052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}