U E D R , A S I H C RSS

AcceleratedC++/Chapter0

Chapter 0 Getting Started

ค‘š” †ŒŠค

  • Hello World Program

~cpp 
// small C++ program
#include <iostream>

int main() {
	std::cout << "Hello, world!" << std::endl;
	return 0;
}


main •จˆ˜˜ ๋ฆฌ„˜•๊ณผ ๋ฆฌ„ด๊ฐ’
main •จˆ˜˜ ๋ฆฌ„˜•€ ISO/ANSI C++ ‘œค€—„œ int๋กœ  ••˜๊ณ  žˆ๋‹ค. ๋ฆฌ„ด๊ฐ’€ ”„๋กœ๊ทธ๋žจด •„๋ฌด๋Ÿฐ —๋Ÿฌ —†ด ข…๋ฃŒ๋˜๋Š” ๊ฒฝšฐ—๋Š” 0„ ๋ฆฌ„•˜๋„๋ก ๋˜–ด žˆ๊ณ , —๋Ÿฌ๊ฐ€ ๋ฐœƒ•ด„œ ข…๋ฃŒ•œ ๊ฒฝšฐ—๋Š” 0 ด™ธ˜ ๊ฐ’„ ๋ฆฌ„•˜๋„๋ก ๋˜–ดžˆ๋‹ค. ด ๊ฐ’€ OS๋กœ ๋Œ๋ คง€๋Š” ๊ฐ’ด๊ธฐ๋Š” •˜ง€๋งŒ OS—„œ ด๊ฒƒ— ๋”ฐ๋ผ Šน๋ณ„žˆ ฒ˜๋ฆฌ•˜๋Š” ๊ฒƒ€ —†๊ธฐ ๋•Œ๋ฌธ— ผ๋ฐ˜ ธ ๊ฒฝšฐ—๋Š” ด ๊ฐ’€ •„๋ฌด๋Ÿฐ ˜๋ฏธ๊ฐ€ —†๋‹ค. ด ๊ฐ’„ ดšฉ• ˆ˜ žˆ๋Š” ๋ฐฉ๋ฒ•œผ๋กœ๋Š” exec... •จˆ˜๋ฅผ ดšฉ•˜—ฌ ”„๋กœ๊ทธ๋žจ„ ‹ค–‰•ดฃผ๊ณ  ๋ฐ›•„˜ค๋Š” ๋ฐฉ๋ฒ• ๋“ด žˆ๋‹ค.

Side effect
C++˜ ๋ชจ๋“  ๋ฌธžฅ(statement)€ ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ด๋‹ค. ปดŒŒผ๋Ÿฌ—„œ —๋Ÿฌ๋ฅผ ฐพ„๋•Œ๋„ ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ธง€ ™•ธ•˜—ฌ ๋ฌธžฅด ˜ฌ๋ฐ”๋ฅธ ๋ฌธžฅธง€ —๋Ÿฌ๋Š” —†๋Š”ง€ ™•ธ•˜๊ฒŒ ๋œ๋‹ค. ˜ˆ๋ฅผ ๋“ค–ด ๋‹คŒ๊ณผ ๊ฐ™€ ๋‘ ๋ฌธžฅด žˆ๋‹ค๊ณ  •˜ž.
~cpp 
100;
1 + 3;
ด๋Ÿฐ ๋ฌธžฅด ๋“ค–ดžˆ๋Š” C++ ”„๋กœ๊ทธ๋žจ„ ปดŒŒผ •ด ๋ณด๋ฉด —๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™ง€๋งŒ —๋Ÿฌ๊ฐ€ ๋‚˜ง€ •Š๋Š”๋‹ค. ™œ๋ƒ•˜๋ฉด ๋‘˜ ๋‹ค ๋ชจ๋‘ ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ด๊ธฐ ๋•Œ๋ฌธด๋‹ค. ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ด๋ผ๋ฉด ตœข… ๊ฒฐ๊ณผ๊ฐ€ กดžฌ•ด•ผ •œ๋‹ค. ฒซ๋ฒˆงธ ๋ฌธžฅ€ ๊ณ„‚ฐด ๋๋‚˜žˆ๋Š” ‹ด๊ณ  ตœข… ๊ฒฐ๊ณผ๊ฐ€ 100 ด๋‹ค. ๋‘๋ฒˆงธ ๋ฌธžฅ€ •œ๋ฒˆ๋งŒ ๊ณ„‚ฐ•˜๋ฉด ๊ณ„‚ฐด ๋๋‚˜๊ณ  ตœข… ๊ฒฐ๊ณผ๋Š” 4 ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹คŒ๊ณผ ๊ฐ™€ ๋ฌธžฅ€ ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ด ๋งž๋Š”๊ฐ€?
~cpp 
a = 10;
std::cout << "Hello World!!";
ฒซ๋ฒˆงธ ๋ฌธžฅ„ ๊ณ„‚ฐ•˜๋ฉด a๋ผ๋Š” ๋ณ€ˆ˜— 10„ ๋Œ€ž…•˜๋ฉด ๋˜๊ณ  ๊ฒฐ๊ตญ ๋‚จ๋Š”๊ฒƒ€ a๋ฐ–— —†œผ๋ฏ€๋กœ a˜ ๊ฐ’ด ตœข… ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค. ๋‘๋ฒˆงธ ๋ฌธžฅ„ ๊ณ„‚ฐ•˜๋ฉด std::cout๊ณผ "Hello World!!"๋ฅผ ™ผชฝ ‰ฌ”„Šธ —ฐ‚ฐ„ •˜๊ณ  ๋‚˜˜จ ๊ฒฐ๊ณผ๊ฐ€ ตœข… ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค. ‹คžฌ๋กœ —ฐ‚ฐ ๊ฒฐ๊ณผ๊ฐ€ std::cout ด๊ณ  ด๊ฒƒด ตœข… ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค. —ฌ๊ธฐ„œ ™ผชฝ ‰ฌ”„Šธ —ฐ‚ฐด ๊ณผ—ฐ std::cout๊ณผ "Hello World!!" ‚ฌด—„œ ๊ฐ€๋Šฅ•œ ๊ฒƒธ๊ฐ€ ๋ผ๋Š” ˜๋ฌธ„ ๊ฐ–๊ฒŒ ๋ ˆ˜๋„ žˆ๊ฒ ง€๋งŒ C++—๋Š” —ฐ‚ฐž žฌ •˜(operator overloading) ๋ผ๋Š” ๊ฒƒด žˆ๊ธฐ ๋•Œ๋ฌธ— ด๋Ÿฐ๊ฒƒ„ ถฉ๋ถ„žˆ ๊ฐ€๋Šฅ•˜๊ฒŒ ๋งŒ๋“คˆ˜ žˆ๋‹ค๊ณ ๋งŒ •Œ๊ณ  ๋„˜–ด๊ฐ€๊ธฐ ๋ฐ”๋ž€๋‹ค. —ฌ๊ธฐ„œ ๋‘๋ฒˆงธ ๋ฌธžฅ„ ž„žˆ •Œ๊ณ  ๋„˜–ด๊ฐˆ •„š”๊ฐ€ žˆ๋‹ค. ๋‘๋ฒˆงธ ๋ฌธžฅ๋„ •ž—„œ „ค๋ช…–ˆ๋“ฏด ๊ณ„‚ฐ ๊ฐ€๋Šฅ•œ ‹ด๊ณ , ๊ฒฐ๊ตญ ‹ค–‰๋˜๋ฉด ๊ณ„‚ฐด ˆ˜–‰๋˜ง€๋งŒ ๊ทธ๊ฒƒ๊ณผ ๋”๋ถˆ–ด ผ–ด๋‚˜๋Š” ผด •œ๊ฐ€ง€ ๋” žˆ๋Š”๋ฐ, ๋ฐ”๋กœ ‘œค€ ถœ๋ ฅœผ๋กœ "Hello World!!" ๊ฐ€ ถœ๋ ฅ๋œ๋‹ค๋Š” ๊ฒƒด๋‹ค. ด๋ ‡๊ฒŒ ๊ณ„‚ฐ๋˜–ดง€๋Š” ๊ณผ •—„œ ๊ณ„‚ฐ ๊ฒฐ๊ณผ™€ ๋”๋ถˆ–ด ๋‚˜ƒ€๋‚˜๋Š” ๊ฒƒ„ side effect๋ผ๊ณ  •œ๋‹ค. ฒซ๋ฒˆงธ ๋ฌธžฅ๊ณผ ๊ฐ™€ ๊ฒฝšฐ—๋Š” side effect๊ฐ€ —†๋‹ค. ๋‹คŒ๊ณผ ๊ฐ™€ ๋‘ ๋ฌธžฅด žˆ๋‹ค๊ณ  •˜ž.
~cpp 
a = b + c;
std::cout << "Hi! C++";
—ฌ๊ธฐ„œ ฒซ๋ฒˆงธ ๋ฌธžฅ€ b๋ผ๋Š” ๋ณ€ˆ˜˜ ๊ฐ’๊ณผ c๋ผ๋Š” ๋ณ€ˆ˜˜ ๊ฐ’„ ๋”•ด„œ a๋ผ๋Š” ๋ณ€ˆ˜—  €žฅ•˜๋Š” ‹œผ๋กœ ตœข… ๊ฒฐ๊ณผ๊ฐ€ a๋ผ๋Š” ๋ณ€ˆ˜—  €žฅ๋˜๋ฏ€๋กœ ด๋Ÿฌ•œ ๋ฌธžฅ€ ตœข… ๊ฒฐ๊ณผ๋งŒ„ ดšฉ•˜๊ธฐ œ„•œ ๋ฌธžฅด๊ณ , ๋‘๋ฒˆงธ ๋ฌธžฅ€ std::cout๊ณผ "Hi! C++"„ ™ผชฝ ‰ฌ”„Šธ —ฐ‚ฐ„ •˜—ฌ side effect๋กœ "Hi! C++"„ ‘œค€ ถœ๋ ฅ— ถœ๋ ฅ•˜๊ณ  ตœข… ๊ฒฐ๊ณผ๋Š” Šน๋ณ„žˆ ๋”ฐ๋กœ  €žฅ•˜ง€ •Šœผ๋ฏ€๋กœ ตœข… ๊ฒฐ๊ณผ—๋Š” ๊ด€‹ฌด —†๊ณ , side effect๋งŒ„ ดšฉ•˜๊ธฐ œ„•œ ๋ฌธžฅด๋‹ค. ๋ฌผ๋ก  ˜ˆ๋ฅผ ๋“คง€๋Š” •Š•˜ง€๋งŒ ตœข… ๊ฒฐ๊ณผ๋„ ดšฉ•˜๊ณ  side effect๋„ ดšฉ•˜๊ธฐ œ„•œ ๋ฌธžฅ๋„ žˆ๋‹ค.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:24
Processing time 0.0460 sec