C++
- parent link: programming
- ์ต๊ทผ ๊ฒช์ C++ ์ธํฐ๋ทฐ ๊ฒฝํ - OKKY C++ ์ค๋ฌด์๋ค์๊ฒ ์์ฃผ ๋ฌป๋ ๋ฉด์ ์ง๋ฌธ ๋ชจ์์ง
- pocu.academy C++ ์ธ๋งค๋์ง๋ ํ๋ก๊ทธ๋๋ฐ ์ปค๋ฆฌํ๋ผ์ด ์ข์์ ๊ฐ์ ธ์ด
- modoocode.com ์น์ด๋จน๋ C++ ๊ธฐ์ด๋ถํฐ ์ฌํ, ์ต์ ๊ธฐ์ ๊น์ง
- ํฌํTV C++ ๊ด๋ จ ๋น๋์ค ๋ชจ์์ง
Scrapped
- lambda๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ์๊ฐ ์ง์์ ธ์๋ค.
- lambdaํจ์๊ฐ ์ผ๋ฐ ํจ์๋ณด๋ค ๋๋ฆฌ๋ค
- stdout precision and fix
- const member makes class default ctor deleted
- pure virtual destructor
- Functional programming -- expression templates, builds structures representing a computation at compile time
- ๋๋ค ์บก์ฒ ์๋ฆฌ์ ์์ ์ ๋ณ์๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ
- optional safe unwrapping
- owner๊ฐ ์๋๋ผ๋ฉด raw pointer๋ฅผ ์ฐธ์กฐํด๋ ๊ด์ฐฎ๋ค - when to use smart pointers
- pointer ownership in c++
- Exception Safe Code, Part I - Jon Kalb
- Value Categories in C++17 - lvalue, rvalue, prvalue
- template ํค์๋๋ฅผ ์ ์ธ๋ง ํ๋ฉด ์ ๋๋ ์ด์ C++
- Google Test
- CMake
- google coding conventions
- typeid
- gcc options
- extern ํค์๋ + ์ปดํ์ผ ์ธ์๋ก ์ฌ๋ฌ๊ฐ์ cpp ํ์ผ์ ๋์ผํ ์ค์ฝํ์ ๋๋ ค๋ฃ์
- vector๋ array๋ ์ธ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ฃผํ๊ณ ์๋ ๋ณ์๊ฐ ์์ผ๋ฉด out of bound error๋ฅผ ์ผ์ผํค์ง ์๋๋ค
- vector์ back ์ด๋ end๋ ๋น์ด์์ ๋ undefined behavior๋ฅผ ๋ฐ์์ํจ๋ค
- type casting {C++}
- Constraints and concepts {C++20}
- map insert, set insert ์๋ชป ์ฐ๋ฉด ์ธ์ ๋งํจ
- random {C++}
- explicit constructor {C++}
- deleted function {C++} TODO
- enum์ ์์ธ๋ก ๋์ง์ง ๋ง๋ผ
- thread, mutex, unique_lock, lock_guard {C++}
- cv-qualified๊ฐ ๋๋์ฒด ๋ญ๋ {C++}
C++ ๊ธฐ์ด
- string {C++}
- auto keyword {C++}
- inline {C++}
- nullptr VS NULL {C++}
- fixed width integer types {C++11}
- enum and enum class {C++}
๊ฐ๊ฟํ (์คํฌ๋ฉ ์๋ฃ)
C++ ์ข ํน (์คํฌ๋ฉ ์๋ฃ)
- C++ remainder operation is NOT modulo
- ์ปค์คํ ํ์ ์ string์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ {C++}
- stream, iterator, functional programming {C++}
- references in {C++}
- ์๊ดํธ ์ด๊ธฐํ์ ์ค๊ดํธ ์ด๊ธฐํ์ ์ฐจ์ด์ ์ ์ค๋ช ํด ์ฃผ์ธ์ {C++11}
- ranged for loop + custom iterator and container {C++11}
- lambda expression {C++}
- namespaces {C++}
- move semantics and forward reference {C++}
Algorithm ๊ฐ๊ฟํ
Data Structures with Standard Template Library
Externel libraries
- https://github.com/nemtrif/utfcpp : utf-8์ ์์ฝ๊ฒ
๋์
์ง๋ฌธ
- C++ ์์ ์๋ฆฌ์๋ฌธ์์ด ์์ฑํ๋ ์์ฑ์๋ค (๋ณต์ฌ ์์ฑ์, move ์์ฑ์)๊ณผ ๊ฐ ์์ฑ์์ ๋์ํ๋ operator=() ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ์ ๊ผญ ํด์ผํ๋ ๊ฑธ๊น?
- ๋ชจ๋ ํฌ์ธํฐ๋ฅผ shared_ptr๋ก ๋ง๋ค๋ฉด ๋ ๊น์? ์๋๋ฉด, ํด๋น ํฌ์ธํฐ์ owner๋ง shared ๋๋ unique๋ก ๋ง๋ค๊ณ ๊ทธ ์ธ์ raw pointer๋ฅผ ์ฐ๋ ๊ฒ ์ข์๊น์?
- ๊ฐ์๋ ์ถ์ํ ํ ์ ์๋?
array<T, 3>
๋ณด๋จvector<T>
๊ฐ ํจ์ฌ ์ถ์์ ์ด๋ฏ๋ก ์ถ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ๋ ๊ตณ์ด array๋ก ๋ง๋ค ํ์๋ ์์๊น? - const๋ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ ์ข์๊น์, ํฌ์ธํฐ์ ์ฌ์ฉํ๋ ๊ฒ ์ข์๊น์? ๋งํฌ๋ ๋ฆฌ์คํธ์์ N๋ฒ์งธ ์์์ ๊ฐ์ ๋ฐ๊พธ๊ณ ์ ํ ๋์์๋ฅผ ์ ๊ฐ์ผ๋ก ๋ฎ์ด์ฐ๋ ๊ฒ์ด ์ข์๊น์, N๋ฒ์งธ ์ปจํ ์ด๋๋ฅผ RAII ์์น์ ๋ฐ๋ผ ์๋ก ์์ฑํ๊ณ ์, ๋ค๋ฅผ ์๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์ข์๊น์?
- push_back๊ณผ emplace_back์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์ {c++}
Base obj = Derive();
์ด ๋ฌธ์ฅ์ ์ ํจํ๊ฐ์?