U E D R , A S I H C RSS

STL/vector/Cook Book

ž‘„ž : ["Lovelyboy^_^"]

๋ฒก„ฐ๋ฅผ ‚ฌšฉ•ด๋ณด๊ธฐ œ„•œ ๊ธฐ๋ณธ …‹Œ…(•žœผ๋กœ Žธ˜ƒ ๋ฐ˜๋ง๋กœ •ฉ๋‹ˆ๋‹ค.)

~cpp 
#include <iostream>
#include <vector>
using namespace std;

int main()
{
	return 0;
}

  • ๋ช‡ ๋ฒˆ จ๋ณธ๊ฒฐ๊ณผ vector๋ฅผ ๊ฐ€žฅ žฃผ “ฐ๊ฒŒ ๋œ๋‹ค. vector๋งŒ ๋ฐฐ›Œ ๋†“œผ๋ฉด list๋‚˜ deque๊ฐ™€๊ฒƒ€ ๋˜‘๊ฐ™ด “ธˆ˜ žˆ๋‹ค. vector๋ฅผ “ฐ๊ธฐ œ„•œ vector —ค๋”๋ฅผ ฌ•จ‹œผœค˜•ผ•œ๋‹ค. STL„ “ธ๋ผ๋ฉด #include <iostream.h> ด๋ ‡๊ฒŒ “ฐ๋ฉด ๊ท€ฐฎ๋‹ค. ๋‚˜ค‘— std::cout, std:vector ด๋Ÿฐ ‚ฝˆ„ •ดค˜•ผ •œ๋‹ค. ด๋ ‡๊ฒŒ •˜๊ธฐ ‹ซœผ๋ฉด ๊ “ฐ๋˜๋Œ€๋กœ using namespace std ด๊จฃผž.

int˜• ๋ฐฐ—ด„ int˜• ๋ฒก„— ๋ณต‚ฌ•ด ๋ณดž.

~cpp 
#include <iostream>
#include <vector>
using namespace std;

typedef vector<int>::iterator VIIT;	// Object˜•ด๋ผ๋ฉด typedef vector<Object>::iterator VOIT;

int main()
{
	int ar[10] = {45,12,76,43,75,32,85,32,19,98};	// Object˜•ด๋ผ๋ฉด Object ar[10]={...};

	vector<int> v(&ar[0], &ar[10]);		
		// Object˜•ด๋ผ๋ฉด vector<Object> v(...);
		// ar๋ฐฐ—ด˜ 0๋ฒˆ ›†Œ๋ถ€„ฐ 9๋ฒˆ›†Œ๊นŒง€๋ฅผ
		// v๋ฒก„—๋‹ค๊ฐ€ ๋ณต‚ฌ [0,10) ฒ˜Œ—” ๊ตฌ๊ฐ„
		// ๋งˆง€๋ง‰—” ๊ฐœ๊ตฌ๊ฐ„ด๋ผ๋Š”๊ฐ ๋ช…‹ฌ!

	for(VIIT it = v.begin() ; it != v.end(); ++it)	//  œ๋Œ€๋กœ ๋ณต‚ฌ๋๋‚˜ ๊ฒฐ๊ณผ ๋ณด๊ธฐ
		cout << *it << endl;

	return 0;
}

  • typedefœผ๋กœ ‹œž‘•˜๋Š” ๋ถ€๋ถ„๋ถ€„ฐ ๋ณดž. ผ๋‹จ ๋ฐ˜๋ณตž๋ผ๋Š” ๊ฐœ๋…„ •Œ•„•ผ ๋˜๋Š”๋ฐ, ‚ฌ‹ค€ ๋‚˜๋„ ž˜ ๋ชจ๋ฅธ๋‹ค.; ฒ˜Œ ๋ฐฐšธ๋• ๊ทธ๋ƒฅ ผข…˜ ฌธ„ฐ๋ผ๋Š” ๊ฐœ๋…œผ๋กœ ๋ณด๋ฉด ๋œ๋‹ค. vector<int>::iterator •˜๋ฉด int˜• vector—  €žฅ๋˜–ด žˆ๋Š” ๊ฐ’„ ˆœšŒ•˜๊ธฐ œ„•œ ๋ฐ˜๋ณตžด๋‹ค. ๋น„Šท•˜๊ฒŒ vector<Object>>::iterator •˜๋ฉด Object˜• vector—  €žฅ๋˜–ด žˆ๋Š” ๊ฐ’„ ˆœšŒ•˜๊ธฐ œ„•œ ๋ฐ˜๋ณตž๊ฒ ง€ ๋ญ; ๊ฐ„๋‹จ•˜๊ฒŒ „—ฌ“ธ๋ผ๊ณ  typedef•ดฃผ๋Š” ๊ฒƒด๋‹ค. •˜๊ธฐ ‹ซœผ๋ฉด •ˆ•ดค˜๋„ ๋œ๋‹ค.--;
  • ๋‹คŒ—” vector<int> v~~ ด๋ถ€๋ถ„„ ๋ณดž. vector<T> —๋Š” ƒ„ž๊ฐ€ —ฌ๋Ÿฟ žˆ๋‹ค. ๊ทธ ค‘˜ •˜๋‚˜๋กœ, ๋ฐฐ—ด„ ๋ณต‚ฌ•˜๋Š” ƒ„ž๋ฅผ จ๋ณดž. ๊ทธ๋ƒฅ “ฐ๋Š”๋ฒ•๋งŒ ๋ณดž. ๋‹จˆœžˆ ๋ฐฐ—ด ๋ณต‚ฌ•˜๋Š” ๊ฐ๋‹ค. C++ ๊ณต๋ถ€–ˆ๋‹ค๋ฉด „•ˆ๋‹น 10žฅธ๊ฐ€ 11žฅ— ๋ณต‚ฌ ƒ„ž๋ผ๊ณ  ๋‚˜˜ฌ๊ฒƒด๋‹ค. ๊ทธ๊ฐ๋‹ค.; ๊ทธ๋ƒฅ 2๋ฒˆ ›†Œ—„œ 5๋ฒˆ›†Œ๊นŒง€ ๋ณต‚ฌ•˜๊ณ  ‹ถ๋‹ค. •˜๋ฉด vector<int> v(&ar2, &ar6) ด๋ ‡๊ฒŒ •˜๋ฉด ๋˜๊ฒ ง€?(–ดงธ ข€ ๊ฐ๋งŒ•ด ๋ณดธ๋‹ค.;) ๋งˆง€๋ง‰€ ๊ฐœ๊ตฌ๊ฐ„ด๋ผ๋Š”๊ธ ๋ช…‹ฌ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.
  • for ๋ถ€๋ถ„„ ๋ณด๋ฉด •ž—„œ typedef •ดค€ VIIT ˜•œผ๋กœ ˆœšŒ•˜๊ณ  žˆ๋Š”๊ฒƒ„ ๋ณผˆ˜ žˆ๋‹ค. vector<T>˜ ๋ฉค๋ฒ„—๋Š” —ด๋ผ ๋งŽ€ ๋ฉค๋ฒ„•จˆ˜๊ฐ€ žˆ๋‹ค. ๊ทธค‘— begin() € ๋งจ ฒ˜Œ œ„น˜๋ฅผ ๊ฐ€๋ฅด‚ค๋Š” ๋ฐ˜๋ณตž๋ฅผ ๋ฆฌ„•ดค€๋‹ค. ๋‹น—ฐžˆ end()๋Š” ๋งจ ๋ œ„น˜๋ฅผ ๊ฐ€๋ฅด‚ค๋Š” ๋ฐ˜๋ณตž๋ฅผ ๋ฆฌ„•ดฃผ๋Š” ๊ฐ๋ผ๊ณ  ƒ๊ฐ•˜๊ฒ ง€๋งŒ •„๋‹ˆ๋‹ค.--;  •™••˜๊ฒŒ๋Š” '๋งจ ๋œ„น˜๋ฅผ ๊ฐ€๋ฅด‚ค๋Š” ๋ถ€๋ถ„—„œ •œ นธ ๋”๊ฐ„ ๋ฐ˜๋ณตž๋ฅผ ๋ฆฌ„ด'•ดฃผ๋Š” ๊ฐ๋‹ค. ™œ ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“ค—ˆ๋Š”ง€๋Š” ๋‚˜•œ…Œ ๋ฌปง€ ๋ง๋ผ. •„๊นŒ ๋ฐ˜๋ณตž๋Š” ฌธ„ฐ๋ผ๊ณ  ƒ๊ฐ•˜๋ผ –ˆ๋‹ค. —ญ‹œ ๊ทธ ฌธ„ฐ๊ฐ€ ๊ฐ€๋ฅด‚ค๋Š” ๊ฐ’„ ๋ณด๋ ค๋ฉด ๋‹น—ฐžˆ •ž— * „ ๋ถ™—ฌ•ผ๊ฒ ง€.

๋ฒก„ฐ๋กœ ๋™  ๋ฐฐ—ด “ฐ๊ธฐ

  • •„๋งˆ ˆ๋ณดž๋•Œ ๋ˆ„๊ตฌ๋‚˜ •˜๋Š” ‹คˆ˜๊ฐ€ žˆ„ ๊ฒƒด๋‹ค. ๋ณธธ๋„ ๊ทธ๋žฌ๋‹ค.--;
  • ˜ˆ œ๋กœ ˆž๋ฅผ ๋ช‡๊ฐœ ž…๋ ฅ๋ฐ›๋‚˜ ๊ฐฏˆ˜๋ฅผ ž…๋ ฅ๋ฐ›€ ๋งŒผ, ๊ทธ๋งŒผ ๋ฃจ”„๋ฅผ ๋Œ๋ ค„œ ˆž๋ฅผ ž…๋ ฅ๋ฐ›๋Š” ๊ธ ๋ณดž.

~cpp 
#include <iostream>
using namespace std;

int main()
{
	int num;
	cin >> num;

	int ar[num];

	for(int i = 0 ; i < num ; ++i)
	{
		cout << i+1 << "๋ฒˆใ…คใ…‰ใ…’ใ…ค" << endl;	
		cin >> ar[i];
	}
	return 0;
}
  • ž –ด๋””๊ฐ€ ‹€๋ ธ„๊นŒ? ๊ณต๋ถ€ ข€ –ˆœผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ •Œˆ˜ žˆ๋Š” ‚ฝˆดง€๋งŒ, c++ ๋ฐฐšดง€ ๋ช‡ฃผ๋ฐ–— •ˆ๋˜—ˆ—ˆ๋˜ ๋‚˜๋กœ„œ๋Š”  €๊ฒŒ ™œ ‹€๋ ธ๋Š”ง€ •Œˆ˜๊ฐ€ —†—ˆ๋‹ค.
  • ›ธ€ ๊ทธ๊ฐ๋‹ค.  •  ๋ฐฐ—ด€ ปดŒŒผ ‹œ— ฌ๊ธฐ๋ฅผ žก๋Š”๋‹ค. ž…๋ ฅ๋ฐ›๋Š” ๋ถ€๋ถ„€ ปดŒŒผ ๋๋‚˜๊ณ  ‹ค–‰• ๋•Œ ฌ๊ธฐ๋ฅผ ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ปดŒŒผ๋Ÿฌ๋Š” ๋‹น—ฐžˆ ฌ๊ธฐ๋ฅผ •Œˆ˜ —†œผ๋‹ˆ —๋Ÿฌ๊ฐ€ ๋‚˜๊ฒŒ๋œ๋‹ค. ๊ณ ณ ๋ณดž.

~cpp 
#include <iostream>
using namespace std;

int main()
{
	int num;
	cin >> num;

	int* ar = new int[num];

	for(int i = 0 ; i < num ; ++i)
	{
		cout << i+1 << "๋ฒˆใ…คใ…‰ใ…’ใ…ค : ";	
		cin >> ar[i];
	}
	
	delete [] ar;

	return 0;
}
  • šฐ๋ฆฌ๊ฐ€ —ฌƒœ๊นŒง€ ๋ฐฐšด ๊ฐ๋งŒ จ๋ณด๋ฉด ด๋ ‡๊ฒŒ ๊ณ น ˆ˜ žˆ๋‹ค. ๊ทธ œ ๋ช…-_-•œ ๋™ ๋ฐฐ—ดด๋‹ค.--; •„.. delete []  €๊ฐ ๋ณด๊ธฐ ‹ซง€ •Š€๊ฐ€? c™€ c++˜ ๊ณ ˆ ธ ๋ฌธ œ ด ๋ฐ”๋กœ  €๊ฐ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ •ดค˜•ผ •œ๋‹ค๋Š”๊ฐ.. ž๋ฐ” ๊ฐ™€๊ง€๊ฐ€ •Œ•„„œ delete •ดฃผง€๋งŒ.. c๋‚˜ c++—„œ delete •ˆ•ดฃผ๋ฉด.. X๋˜๋Š” ๊ผด„ ๋ณผˆ˜ žˆ๋‹ค. (๋ณธธด •œ๋ฒˆ ๊ฒฝ—˜•ด ๋ดค๋‹ค.) ๊ทธ๋ž˜„œ ž˜ ๋””žธ๋œ ด๋ž˜Šค๋Š” ด๋ž˜Šค ๋‚ด—„œ •Œ•„„œ —†• ค˜•ผ •œ๋‹ค. ๋ฐ”๋กœ vector๋ฅผ “ฐ๋ฉด  € ง“„ •ˆ•ดค˜๋„ ๋œ๋‹ค. ๋˜ ๊ณ ณ๋ณดž.

~cpp 
#include <iostream>
#include <vector>
using namespace std;

int main()
{
	int num;
	cin >> num;

	vector<int> ar(num);

	for(int i = 0 ; i < ar.size() ; ++i)
	{
		cout << i+1 << "๋ฒˆใ…คใ…‰ใ…’ใ…ค : ";	
		cin >> ar[i];
	}

	return 0;
}

  • vector<int>... ๋ถ€๋ถ„„ ๋ณด๋ฉด ๋˜ ๋‹ค๋ฅธ ƒ„ž๊ฐ€ ๋ณดธ๋‹ค. ธž๋กœ ˆž •˜๋‚˜๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ทธ ๋งŒผ ๋™  • ๋‹น •ดค€๋‹ค๋Š” ๋œปด๋‹ค. delete? ๊ทธ๋”ด๊•ˆ•ดค˜๋„ ๋œ๋‹ค. ”„๋กœ๊ทธ๋žจ ๋๋‚˜๋ฉด„œ int˜• ๋ฒก„ฐ arด †Œ๋ฉธ๋˜๋ฉด„œ •Œ•„„œ —†• ค€๋‹ค.
  • ๋˜ •˜๋‚˜ ‚ดŽด๋ณผ๊ฒŒ žˆ๋‹ค. •„๊นŒ ˜ˆ œ—„œ๋Š” ๋ฐ˜๋ณตž๋กœ ๋ฒก„ฐ ๋‚ด๋ถ€๋ฅผ ˆœšŒ–ˆ—ˆ๋‹ค. •˜ง€๋งŒ ๋ฒก„ฐ๋Š” ž„˜ ‘๊ทผ„ —ˆšฉ•œ๋‹ค. ๋ฐฐ—ดฒ˜๋Ÿผ ar4 ด๋Ÿฐ‹œผ๋กœ “ธˆ˜ žˆ๋‹จ ๋งด๋‹ค. Žธ•œ๋Œ€๋กœ จฃผž.

๋ฒก„ฐ๋กœ 2ฐจ› ๋™  ๋ฐฐ—ด “ฐ๊ธฐ

  • ๋ฐ๋ธ”Šค บ ”„๋•Œ œ ๋ช…•ด„ 2ฐจ› ๋™  ๋ฐฐ—ด “ฐ๊ธฐ๋‹ค.
  • ŒŒŠคนผ ‚ผ๊ฐ˜• ˆ™ œ• ๋•Œ ๋ฐ๋ธŒ”ผ•„—„œ “ฐ๋Š”๋ฒ• ๋ฐฐ›Œ„œ —ด‹ฌžˆ “ฐ๋‹ค๊ฐ€ ๋ฐ๋ธ”Šค บ ”„๋•Œ žฌ๋™ด๊ฐ€ ผ๋œจ๋ ธ๋‹ค. 1•™๊ธฐ ๋‚ด๋‚ด Žธ•ด„œ ข‹๋‹ค๊ณ  จ๋Œ”๋Š”๋ฐ.. ง€๊ธˆ ๋ณด๋ฉด ๋‚ด๊ฐ€  €๊™œ “ฐ๊ณ  žˆ—ˆ„๊นŒ •˜๋Š” ƒ๊ฐด ๋“ ๋‹ค.
  • vector๋กœ ๊ฐ„๋‹จžˆ •ด๊ฒฐด ๊ฐ€๋Šฅ•˜๋‹ค. See also RandomWalk2/Vector๋กœ2ฐจ›๋™ ๋ฐฐ—ด๋งŒ๋“ค๊ธฐ
  • resize() ๋ฉ”†Œ๋“œ๋Š” ๋ฒก„˜ ฌ๊ธฐ๋ฅผ ๋‹ค‹œ žก•„ฃผ๋Š” —ญ• „ •œ๋‹ค. ž˜ “ฐž

Pointer๋ฅผ  €žฅ•˜๋Š” Container

  • container — ๊ฐ’ด  €žฅ๋ ๋•Œ๋Š” ๋ณต‚ฌ ๊ณผ •ด ˆ˜–‰๋œ๋‹ค. ๊ทธ๋ž˜„œ ๊ฐ’ด ๊ฐ„๋‹จ•œ int, double˜• — ๋Œ€•œ containter๋Š” ๊ทธ๋ ‡๊ฒŒ ๋ฌธ œ๊ฐ€ ๋˜ง€ •Š๋œ๋‹ค.
  • ๋ฉน˜๊ฐ€ ฐ ž๋ฃŒ˜•„ container—  €žฅ• ๋•Œ ๋งˆ๋‹ค ๋ณต‚ฌ๊ฐ€ ˆ˜–‰๋œ๋‹ค๋ฉด, ๋งŽ€ ๋‚ญ๋น„๊ฐ€ ๋ฐœƒ•œ๋‹ค.
    • —ฌ๊ธฐ„œ žก๋‹ด •˜๋‚˜. ๊ฐฒด๋ฅผ parameter๋กœ ๋„˜๊ธธ๋•Œ๋„ ๋ณต‚ฌ๊ฐ€ ˆ˜–‰๋˜ง€ •Š๋Š” ฐธกฐ๋ฅผ ‚ฌšฉ•˜ž.
      ~cpp 
      Func(const Obj& obj) 
      
  • ๊ทธ๋ž˜„œ pointer๋งŒ„ ดšฉ•ด„œ  €žฅ•˜ž. •˜ง€๋งŒ “ธ๋ชจ —†๋Š” ๊ฐฒด๋Š” šฐ๋ฆฌ๊ฐ€ ง€›Œค˜•ผ •œ๋‹ค. ฌธ„ฐ๋ฅผ ๋„–ด„๋•Œ—๋Š”, ปจ…Œด๋„ˆ๊ฐ€ †Œ๋ฉธ๋ ๋•Œ๋Š” ฌธ„ฐ๋“ค€ ง€›Œง€๊ฒ ง€๋งŒ. ๊ทธ ฌธ„ฐ๋“คด ๊ฐ€๋ฅด‚ค๋Š” ๊ฐ’๋“ค€ ง€›Œง€ง€ •Š๊ธฐ ๋•Œ๋ฌธด๋‹ค.
  • ๋‹คŒ ˜ˆ œ๋Š” pointer๋กœ ž๋ฃŒ๋ฅผ ๋„ฃ๊ณ , ง€šฐ๋Š” ˜ˆ œด๋‹ค.
    ~cpp 
     #include <iostream> 
    #include <string> 
    #include <vector> 
    using namespace std; 
    
    class Obj 
    { 
    private: 
    	int a; 
    	string c; 
    public: 
    	Obj(int n, const string& str) : a(n), c(str) {} 
    	void showMember() 
    	{ 
    		cout << a << " " 
    			<< c << endl; 
    	} 
    };
    typedef vector<Obj*>::iterator VOIT; 
    
    int main() 
    { 
    	vector<Obj*> v; // ฌธ„ฐ๋ฅผ  €žฅ•˜๋Š” vector
    	
    	// ๋ฒก„— Obj๊ฐฒด๋“ค˜ ฌธ„ฐ๋ฅผ ๋„ฃ๋Š”๋‹ค. 
    	v.push_back(new Obj(1, "๊ธธ๋™")); 
    	v.push_back(new Obj(3, "—ˆค€")); 
    	v.push_back(new Obj(5, " œ๋งˆ")); 
    	
    	// ˆœšŒ•˜๋ฉด„œ showMember ๋ฉ”†Œ๋“œ ˜ธถœ•˜๊ณ 
    	for(VOIT it = v.begin() ; it != v.end() ; ++it)
    		(*it)->showMember();
    	
    	// ˆœšŒ•˜๋ฉด„œ ๊ฐ€๋ฆฌ‚ค๋Š” ๊ฐ’๋“ค„ ง€šด๋‹ค.
    	for(it = v.begin() ; it != v.end() ; ++it)
    		delete *it;
             v.clear();
    	return 0; 
    } 
    

•˜๊ณ  ‹ถ€ ๋ง

  •  . ๋ณ„๋ฃจ –ด๋ คšด๊—†๊ฒ ง€
  • ด๊ฒŒ  œ๊ฐ€ •Œ๊ณ  žˆ๋Š” STL— ๋Œ€•œ ๊ฒ๋‹ˆ๋‹ค. ๋‚˜๋จธง€๋‚˜ ๋” ž„žˆ •Œ๊ณ  ‹ถœผ‹ ๋ถ„€ …„ ๋ณด‹œ๋“ ง€..; MSDN„ ฐธ๊ณ •˜„š”. ๊ทผ๋ฐ ด •๋„๋งŒ •Œ•„๋„.. ™ ๋งŒ•œ๊ด ๋‹ค •ฉ๋‹ˆ๋‹ค. C++๋งŒ๋“  ๊ทธ ด๋ฆ„ –ด๋ คšด ‚ฌ๋žŒ BJar... Str...(;) ด ‚ฌ๋žŒด “ฐ๊ณ  ‹ถ€ ๊ธฐ๋Šฅ๋งŒ “ฐ๋žฌ๊ฐ๋“ š”--; ž๋ฐ”๊ฐ€ “ฐ๊ธฐ๋Š” ‰ฌ›Œ๋„ —ญ‹œ ๋‚œ c++ด ข‹๋‹ค.
  • ๋…ธŒŒ‹ฌ—„œ ๋ง•˜๋Š” ๊ด๋ฐ.. •จˆ˜๋กœ ๊ฐฒด๋ฅผ ๋„˜๊ธธ๋•Œ๋Š” ๊ผญ ฐธกฐ! ฐธกฐ! ž…๋‹ˆ๋‹ค. ๊ฐ’ด •ˆ ๋ฐ”๋€Œ๋ฉด ๊ผญ const จฃผ‹œ๊ตฌ—ฌ. ฐธกฐ •ˆ “ฐ๊ณ  ๊ฐ’ “ฐ๋ฉด –ด๋–ป๊ฒŒ ๋˜๋Š”ง€ ดŽ™‹ฐ๋ธŒ C++— ž˜ ๋‚˜™€ žˆŠต๋‹ˆ๋‹ค.(… „  „  ˆ๋Œ€ •„๋‹˜) ๋ณต‚ฌ ƒ„ž๋ฅผ 10๋ฒˆ„˜๊ฒŒ ˜ธถœ•œ๋‹ค๋Š” ๊ธ๋กœ ๊ธฐ–ต•จ.
  • C++—„œ๋Š” ๊ตฌกฐฒด—„œ๋„ ƒ„ž๊ฐ€ ๋˜๋”๊ตฐš”.--;
    • ๊ตฌกฐฒด—„œ •จˆ˜—ญ‹œ ๊ฐ€๋Šฅ•˜๊ณ , constructor, destructor—ญ‹œ ๊ฐ€๋Šฅ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ class™€ ฐจด € ƒ†ด •ˆ๋˜๊ณ , ๋‚ด๋ถ€ •„๋“œ๋“คด publicœผ๋กœ ๋˜–ด žˆŠต๋‹ˆ๋‹ค. ƒ†ด •ˆ๋˜„œ ŒŒƒ•˜๋Š” ๋ถ„ œ๋“ค— ๊ด€•ด„œ๋Š” •™๊ต C++๊ต œ ƒ† ๋ถ€๋ถ„๊ณผ virtual •จˆ˜ ๊ด€๋ จ ๋ถ€๋ถ„˜ ๋™  ๋ฐ”ธ๋”ฉ ๋ถ€๋ถ„„ ฐธ๊ณ  •˜‹œ๊ธฐ ๋ฐ”๋žŒ๋‹ˆ๋‹ค.--ƒ๋ฏผ
  • ๊ธ€๊ตฌ.. š”๊ฒƒ๋„ ๋ณ„•„๋‹Œ Œด๊ธด •œ๋ฐ.. i++๊ณผ ++i˜ ฐจด € ๋‹ค •„‹œฃ ? ๊ทผ๋ฐ นดšดŠธ•˜๊ฐ๋‚˜ ๋ฃจ”„๋ฅผ ๋Œ๋•Œ๋Š” ฐจด๊ฐ€ —†๋‹ค๊ณ  ๋ด๋„ ข‹Šต๋‹ˆ๋‹ค. ++i๊ฐ€ i++๋ณด๋‹ค „๋Šฅด ข‹๋‹ค๊ณ  •˜๋„š”.(see also i++VS++i ด๊ด ๋ญ..~ ๋ง˜๋Œ€๋กœ •˜„š”^^
  • 02 —ฌ๋Ÿฌ๋ถ„ c++๊ณต๋ถ€ —ด‹ฌžˆ •ดš”~
----
STL/vector
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:58
Processing time 0.0232 sec