DrawingProcess
๋“œํ”„ DrawingProcess
DrawingProcess
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (964)
    • Profile & Branding (22)
      • Career (15)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • ์ธ์ƒ์„ ์‚ด๋ฉด์„œ (64)
      • ๋‚˜์˜ ์ทจ๋ฏธ๋“ค (7)
      • ๋‚˜์˜ ์ƒ๊ฐ๋“ค (42)
      • ์—ฌํ–‰์„ ๋– ๋‚˜์ž~ (10)
      • ๋ถ„๊ธฐ๋ณ„ ํšŒ๊ณ  (5)

๊ฐœ๋ฐœ์ž ๋ช…์–ธ

โ€œ ๋งค์ฃผ ๋ชฉ์š”์ผ๋งˆ๋‹ค ๋‹น์‹ ์ด ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์‹ ๋ฐœ๋ˆ์„ ๋ฌถ์œผ๋ฉด ์‹ ๋ฐœ์ด ํญ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ผ.
์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ผ์ด ํ•ญ์ƒ ์ผ์–ด๋‚˜๋Š”๋ฐ๋„ ์•„๋ฌด๋„ ๋ถˆํ‰ํ•  ์ƒ๊ฐ์„ ์•ˆ ํ•œ๋‹ค. โ€

- Jef Raskin

๋งฅ์˜ ์•„๋ฒ„์ง€ - ์• ํ”Œ์ปดํ“จํ„ฐ์˜ ๋งคํ‚จํ† ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋„

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

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

ํ‹ฐ์Šคํ† ๋ฆฌ

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

๋“œํ”„ DrawingProcess

[C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: fstream ํŒŒ์ผ ์ž…์ถœ๋ ฅ(feat. ํŒŒ์ผ ์ „์ฒด ์ฝ๊ธฐ, ํ•œ ์ค„์”ฉ ์ฝ๊ธฐ)
Study: Software(SW)/SW: Language

[C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: fstream ํŒŒ์ผ ์ž…์ถœ๋ ฅ(feat. ํŒŒ์ผ ์ „์ฒด ์ฝ๊ธฐ, ํ•œ ์ค„์”ฉ ์ฝ๊ธฐ)

2022. 8. 19. 17:12
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” '[C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: fstream ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ํŒŒ์ผ ์ž…์ถœ๋ ฅ'์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
C++์˜ ๋Œ€ํ‘œ์ ์ธ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ fstream์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜์˜€์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

1. fstream ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ํŒŒ์ผ ์ž…์ถœ๋ ฅ

1.1. fstream ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋ณธ

C++์˜ ifstream์ด๋‚˜ ofstream์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด <fstream> ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

#include <fstream>

ofstream์€ ํŒŒ์ผ์— ๊ธฐ๋กํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ณ  ifstream์€ ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ fstream ํด๋ž˜์Šค ์—ญ์‹œ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์˜ open() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์—ด๊ฑฐ๋‚˜ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

std::ofstream ofs;
ofs.open("ํŒŒ์ผ ๊ฒฝ๋กœ");

std::ifstream ifs;
ifs.open("ํŒŒ์ผ ๊ฒฝ๋กœ");

์ƒ์„ฑ์ž์— ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์„œ ๋ฐ”๋กœ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

std::ofstream ofs("ํŒŒ์ผ ๊ฒฝ๋กœ");
std::ifstream ifs("ํŒŒ์ผ ๊ฒฝ๋กœ");

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

#include <fstream>
#include <iostream>
#include <string>

int main()
{
	std::ofstream ofs("D:\\test.txt", std::ios::out | std::ios::app);
	if (ofs.fail())
	{
		std::cerr << "Error!" << std::endl;
	}

	std::ifstream ifs;
	ifs.open("D:\\test.txt", std::ios::in);
	if (!ifs)
	{
		std::cerr << "Error!" << std::endl;
	}
    ifs.close();
	return 0;
}

ofstream ๊ฐ์ฒด(ofs)๋Š” ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ƒ์„ฑํ–ˆ๊ณ  ifstream ๊ฐ์ฒด(ifs)๋Š” open() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ open()์œผ๋กœ ํŒŒ์ผ์„ ์—ด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ํ›„ close()๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ์–ด์•ผ ํ•˜๋ฉฐ, close()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด fstream ๊ฐ์ฒด๋Š” RAII ํŒจํ„ด์ด ์ ์šฉ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๊ฐ€ ์†Œ๋ฉธ๋  ๋•Œ ์ž๋™์œผ๋กœ ๋‹ซํž™๋‹ˆ๋‹ค.

1.2. fstream ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๋ชจ๋“œ

ํŒŒ์ผ์„ ์—ด ๋•Œ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ง€์›ํ•˜๋Š” ๋ชจ๋“œ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

in ํŒŒ์ผ์„ ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ์—ด๊ธฐ (ifstream์—์„œ ๊ธฐ๋ณธ๊ฐ’)
out ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ์—ด๊ธฐ (ofstream์—์„œ ๊ธฐ๋ณธ๊ฐ’)
binary ํ…์ŠคํŠธ ๋ชจ๋“œ ๋Œ€์‹  ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“œ๋กœ ์—ด๊ธฐ
ate ์ถœ๋ ฅ ์œ„์น˜๊ฐ€ ํŒŒ์ผ์˜ ๋์—์„œ ์‹œ์ž‘
app ๋ชจ๋“  ์ถœ๋ ฅ์ด ํŒŒ์ผ์˜ ๋์— ์ถ”๊ฐ€ ๋จ
trunc ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ  ์—ด๊ธฐ
  • ์›ํ•˜๋Š” ํŒŒ์ผ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด OR ์—ฐ์‚ฐ์ž(|)๋กœ ๊ฒฐํ•ฉํ•ด์„œ ํŒŒ์ผ์„ ์—ด ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ์—ด๋ ธ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด fail()์ด๋‚˜ bad() ํ•จ์ˆ˜ ๋“ฑ์„ ํ˜ธ์ถœํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • C++11 ์ดํ›„๋ถ€ํ„ฐ๋Š” fstream์ด bool ํƒ€์ž… ๋ณ€ํ™˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด ์ž์ฒด๋ฅผ ์กฐ๊ฑด๋ฌธ์— ๋„ฃ์–ด๋„ ๋ฉ๋‹ˆ๋‹ค.

1.2.1. ํ…์ŠคํŠธ ๋ชจ๋“œ(๊ธฐ๋ณธ)

๋ผ์ธ ๋์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ๋ผ์ธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹
C HELLO\n
Windows HELLO\r\n
Unix, Linux HELLO\n
Mac HELLO\r

1.2.2. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“œ

  • binary๋กœ ์ฝ๊ณ  ์“ธ ๋•Œ, string์„ binary๋กœ ๋ฐ”๊พธ์–ด ์ €์žฅํ•ด์•ผํ•˜๊ธฐ์— binary๋กœ encodeํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • file์„ binary๋กœ ์ฝ์–ด์„œ ์ถœ๋ ฅํ•ด๋ณด๋ฉด, ํ…์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด์ƒํ•œ ์ˆซ์ž๋“ค๋กœ ์ฃฝ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • binary data๋ฅผ utf-8๋กœ ๋””์ฝ”๋”ฉํ•˜์—ฌ ์ถœ๋ ฅํ•ด๋ณด๋ฉด ์ œ๋Œ€๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋กœ, ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์“ฐ๋Š” ํ…์ŠคํŠธ๋“ค์˜ ๊ฒฝ์šฐ๋Š” binary์ผ ์ˆ˜๋„ ์žˆ๊ณ , text์ผ ์ˆ˜๋„ ์–‘ ์ชฝ ๋ชจ๋‘ ์ €์žฅ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ image๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌด์กฐ๊ฑด binary์ž…๋‹ˆ๋‹ค.

2. fstream ๊ธฐ๋ณธ ์˜ˆ์ œ

2.1. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“œ ์˜ˆ์ œ

๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ฒฝ์šฐ, ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ std::ios::binary ์˜ต์…˜์„ ์ฃผ์–ด ์ฝ์–ด๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํŠน์ • ์˜ต์…˜๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” OR ์—ฐ์‚ฐ์ž(|)๋กœ ๊ฒฐํ•ฉํ•ด์„œ ํŒŒ์ผ์„ ์—ด ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ofstream

int n1 = 500;
int n2 = 1000;
double f = 3.14;
int arr[5] = {1, 2, 4, 8, 16};
string str = "ABCDE";

std::ofstream output("data.bin", std::ios::out | std::ios::binary);
output.write((char*)&n1, sizeof(int));
output.write((char*)arr, sizeof(arr));
output << n2 << f << str;
output.close();

ifstream

int n1, n2;
double f;
int arr[5];
string str;

std::ifstream input("data.bin", std::ios::in | std::ios::binary);
input.read((char*)&n1, sizeof(int));
input.read((char*)arr, sizeof(arr));
input >> n2 >> f >> str;

2.2. ํŒŒ์ผ ํ•œ ์ค„์”ฉ ์ฝ๊ธฐ (ifstream)

getline ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŒŒ์ผ์„ ํ•œ ์ค„์”ฉ ์ฝ์–ด์„œ ํŠน์ • ๋ณ€์ˆ˜์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// std::string ์— ์ •์˜๋œ getline ์‚ฌ์šฉ
#include <fstream>
#include <iostream>
#include <string>

int main() {
	// ํŒŒ์ผ ์ฝ๊ธฐ ์ค€๋น„
	std::ifstream in("test.txt");
	if (!in.is_open()) {
		std::cout << "ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!" << std::endl;
		return 0;
	}
	std::string s;
	while (in) {
		getline(in, s);
		std::cout << s << std::endl;
	}
	return 0;
}

2.3. ํŒŒ์ผ ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ์ฝ๊ธฐ (ifstream)

ํŠน์ • ๋ฌธ์ž์—ด์„ ํŒŒ์ผ๋กœ ๋–จ๊ถœ์„ ๊ฒฝ์šฐ, ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ๊ฐœํ–‰๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ ์ „์ฒด๋ฅผ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

#include <fstream>
#include <iostream>
#include <string>

int main() {
	// ํŒŒ์ผ ์ฝ๊ธฐ ์ค€๋น„
	std::ifstream in("test.txt");
	std::string s;
	if (in.is_open()) {
		// ์œ„์น˜ ์ง€์ •์ž๋ฅผ ํŒŒ์ผ ๋์œผ๋กœ ์˜ฎ๊ธด๋‹ค.
		in.seekg(0, std::ios::end);
		// ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์œ„์น˜๋ฅผ ์ฝ๋Š”๋‹ค. (ํŒŒ์ผ์˜ ํฌ๊ธฐ)
		int size = in.tellg();
		// ๊ทธ ํฌ๊ธฐ์˜ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•œ๋‹ค.
		s.resize(size);
		// ์œ„์น˜ ์ง€์ •์ž๋ฅผ ๋‹ค์‹œ ํŒŒ์ผ ๋งจ ์•ž์œผ๋กœ ์˜ฎ๊ธด๋‹ค.
		in.seekg(0, std::ios::beg);
		// ํŒŒ์ผ ์ „์ฒด ๋‚ด์šฉ์„ ์ฝ์–ด์„œ ๋ฌธ์ž์—ด์— ์ €์žฅํ•œ๋‹ค.
		in.read(&s[0], size);
		std::cout << s << std::endl;
	}
	else {
		std::cout << "ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!" << std::endl;
	}
	return 0;
}

 

์ฐธ๊ณ 

  • [Cpp Reperence] ofstream: https://en.cppreference.com/w/cpp/io/basic_ofstream
  • [Cpp Reperence] ifstream: https://en.cppreference.com/w/cpp/io/basic_ifstream 
  • C++ fstream ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ํŒŒ์ผ ์ž…์ถœ๋ ฅ: https://psychoria.tistory.com/774
  • ํŒŒ์ผ ์ข…๋ฅ˜ - ํ…์ŠคํŠธ ํŒŒ์ผ, ์ด์ง„ ํŒŒ์ผ: https://codedragon.tistory.com/5103
  • binary data: https://frhyme.github.io/python/binary_data/ 
๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Study: Software(SW) > SW: Language' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] Python ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test): unittest ์‚ฌ์šฉ๋ฒ•  (2) 2022.12.08
[C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(try, catch, throw, exception)  (0) 2022.08.29
[C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ณ€์ˆ˜ ๋ฐ ๊ตฌ์กฐ์ฒด ์ ‘๊ทผ๋ฒ• ์ •๋ฆฌ (feat. struct vs class)  (0) 2022.07.23
[C++] Modern C++ Programming Cookbook ์ •๋ฆฌ  (0) 2022.07.12
[C++] ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(feat. lambda function)  (0) 2022.07.06
    'Study: Software(SW)/SW: Language' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python] Python ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test): unittest ์‚ฌ์šฉ๋ฒ•
    • [C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(try, catch, throw, exception)
    • [C++] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ณ€์ˆ˜ ๋ฐ ๊ตฌ์กฐ์ฒด ์ ‘๊ทผ๋ฒ• ์ •๋ฆฌ (feat. struct vs class)
    • [C++] Modern C++ Programming Cookbook ์ •๋ฆฌ
    DrawingProcess
    DrawingProcess
    ๊ณผ์ •์„ ๊ทธ๋ฆฌ์ž!

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