CPP - 8BitsCoding/RobotMentor GitHub Wiki
- 02. ๊ฐ์์ ๋ฆฌ
- 03. ์ฑ ์ ๋ฆฌ
- 04. Coding Quiz : Coding-Quize ํ์ํ ๋ถ๋ถ ์ ๋ฆฌ
- 05. ์์ ์ฝ๋
- (C++11) unique_pointer : ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ค๋ฉด ์์ ํฌ์ธํฐ๋ ์ง์(delete) ์ค๋ค.
- (C++11) shared_ptr : unique_ptr๊ณผ ๋์ผํ๊ฒ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ํฌ์ธํฐ๋ ์ง์(delete) ์ค๋ค. ๋จ, unique_ptr๊ณผ๋ ๋ฌ๋ฆฌ ํฌ์ธํฐ๋ฅผ ๊ณต์ (share) ํ ์ ์๋ค.
- (C++11) weak_ptr : shared_ptr์ ์ํ์ฐธ์กฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์, ๊ฐํ ์ฐธ์กฐ๊ฐ 0์ด๋๋ฉด ์ฝํ ์ฐธ์กฐ๋ ์๋์ผ๋ก ์ง์(delete)๋๋ค.
- C/C++ ์คํ์ผ ๋ฌธ์์ด ํ์ฑ ์ ๋ฆฌ
- [char* to string] :
std::string Str = std::string(char);
- ์๋ฃํ ๋ณํ :
-
C ์คํ์ผ ๋ฌธ์์ด ๊ฐ๋ฅด๊ธฐ :
strtok()
char s1[30] = "The Little Prince"; char* ptr = strok(s1, " "); while(ptr != NULL) { printf("%s\n", ptr); // The / Little / Prince ptr = strtok(NULL, " "); }
- ํจ์์ ์ ์ถ๋ ฅ ์ฝ๋ฉํ์ค
- ํด๋์ค ์์ฑ์ ์์
- ๋ฐฐ์ด ๋ฉ๋ชจ๋ฆฌ ์๋ฉธ์ ์ฃผ์ ์ฌํญ :
delete[] Array;
- ์์์ clone ํจ์ ์์
- Virtual Destructor
- Interface : ์ ์ธ๊ณผ ๊ตฌํ์ ๋ถ๋ฆฌํด๋ณด์
- TCP Send/Receive ์ค๋ช ๋ฐ ์ฝ๋ ์์
- UART ์ฝ๋ ์์
- CSV ํ์ผ ์์ฑ fn
- ์ง์๋ณํ : 10 to 2
- ์ง์๋ณํ : 2 to 10
- ํ์ฌ์๊ฐ๋ฐ๊ธฐ
- Linux shell ctrl+c ๋ง๊ธฐ
- ์/๊ฒฝ๋ ๊ฑฐ๋ฆฌ ๊ตฌํ๊ธฐ
-
// 1. ๋ฐ๋ณต์ for(auto it = v.begin(); it != v.end(); ++it) { // do } // 2. ํ ํ๋ฆฟ ๋ฐ๊ธฐ MyArray<int>* a = new MyArray<int>(10); // ์๋๊ฑธ ๋ ์ ๊ณ ์ถ์ง๋ ์์ auto* a = new MyArray<int>(10);
- C++์์ ์ ๊ณตํ๋ ์์ฑ์ 4๊ฐ(Constructor) : Copy, Copy Assignment, Desturctor, Default constructor
- cout
- const
- extern "C" : C์์ C++ํจ์ ํธ์ถ
- (C++11) constexpr : ์ปดํ์ผ์์ const๋ฅผ ๊ฒฐ์ ํ๊ณ ์ถ๋ค
- delegate : ์์ฐ๋์ง ์;;;
- Deep and Shallow Copy(๊น์๋ณต์ฌ/์์๋ณต์ฌ)
- Default and Delete
- explicit
- exception : C++์์ ์ ์ ํ ์์ธ์ฒ๋ฆฌ ํ๋๋ฒ
- (C++11) enum class : enum์ ์ข ๋ ๋ช ํํ๊ฒ ์จ๋ณด์.
- Fiasco Problem
- friend : ์ธ๋ถ์์ private์ ๊ทผ ๊ฐ๋ฅ
- ํ์ผ ์ ์ถ๋ ฅ fstream : fstream, istream, ostream ์ฌ์ฉ๋ฒ
- (C++11) Final
- (C++11) foreach
- (C++17) filesystem
- inline function : ๋น๋๊ณผ์ ์์ ์ฝ๋๋ฅผ ๋ณต/๋ถ!
- ์์์ ํ๋ณํ (Implicit Type Conversion)
- list : vector์ ์ ์ฌ(=๊ทธ๋ฅ vector์ฐ์)
- (C++11) Lambda
- Math.h : round, floor, ceil, trunc ์ฌ์ฉํด๋ณด๊ธฐ
-
Map
- ์ฅ - list, vector๋ณด๋ค ํ์ ์๋ ๋น ๋ฆ
- ๋จ - ์๋์ ๋ ฌ, ๊ฒ์์๋ O(1)
- (C++11) unordered_map
- Overloading(์ฐ์ฐ์์ค๋ฒ๋ก๋ฉ)
- (C++11) Override : ๊ฐ์ํจ์์ ์ค๋ฒ๋ผ์ด๋๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํด๋ณด์.
- (C++11) Offset : ๋ฉค๋ฒ์ ์ฃผ์๊ฐ ์์น๋ฅผ ์ถ๋ ฅ
- queue : FIFO ๊ตฌ์กฐ์ ์ปจํ ์ด๋
- RAII : ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํ ๊ณณ์์ ํด์ง๊น์ง ๋ชจ๋ํ์
- (C++11) R-value
- (C++11) R value reference
-
C์์ Sleep ์ฌ์ฉํ๊ธฐ :
#include <unistd.h>
-
string์ ๊ดํ์ฌ : string์ ๊ดํ ์ค๋ช
-
string - ๋ฌธ์์ด ๊ฒ์ :
string.find("~") != string::npos;
-
string - ๋ฌธ์์ด ๊ฒ์ :
- struct : ๊ตฌ์กฐ์ฒด๋ ์ด๋ ๊ฒ ์ฐ์
- static : ๋ฒ์์ ์ ํ์ ๋ฐ๋ ์ ์ญ๋ณ์
- STL Algorithm : sort, find ...
- STL ์ปจํ ์ด๋ ๋ฌธ์ ์ : ๊ทธ๋ฅ Array๋ฅผ ์ฐ๋๊ฒ์ด ์ข์๋๋ ์๋ค...
- stack : LIFO ๊ตฌ์กฐ์ ์ปจํ ์ด๋
- set : Key๋ง ์๋ Map
- (C++11) static_assert : ์ปดํ์ผ ์์ ์๋ฌํ์ธ
- (C++11) shared_ptr
- ํจ์ ํ ํ๋ฆฟ
- ํด๋์ค ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ํน์ํ
- (C++11) Thread and Mutex
- (C++11) Thread and ์กฐ๊ฑด๋ณ์(Conditional Variables)
- pthread
-
vector :
- ์ฅ - ์์์์์ ๊ทผ ๊ฐ๋ฅ, ๋ง์ง๋ง ์์ ์ฝ์ ์ญ์ ๋น ๋ฆ
- ๋จ - ์ค๊ฐ์์ ์ฝ์ ์ญ์ ๋๋ฆผ, ์ฌํ ๋น ์๋ ๋๋ฆผ
- (C++11) ๊ณ ์ ์ ์ํ
- (C++11) ๊ฐ๋ณ ์ธ์ : ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์กฐ์ ๊ฐ๋ฅ