template <class InputIterator, class T>
InputIterator find(
InputIterator first,
InputIterator last,
const T & value
}
template <class InputIterator, class T>
InputIterator find_if(
InputIterator first,
InputIterator last,
UniFred F
}
UniOp for_each)
InputIterator first,
InputIterator last,
UniOp op
}
template <class InputIterator, class OutputIterator>
OputputIterator copy(
InputIterator first,
InputIterator last,
OutputIterator result
}
template <class RandomAcessIterator, class Compare>
void sort(
RandomAcessIterator first,
RandomAcessIterator last,
}
greator<int> ()
를 추가한다.#include<functional>
을 추가한다.#include <hash_map>
using namespace stdext;
hash_map <key 자료형, value 자료형> 변수명
hash_map <key 자료형, value 자료형> ::iterator 변수명
hash_map <key 자료형, value 자료형> ::reverse_iterator 변수명
hash_map <key 자료형, value 자료형> ::size_type 변수명
#include<iostream>
using namespace std;
class SingletonClass
{
private:
static SingletonClass instance;
SingletonClass() {};
~SingletonClass() {};
public:
static SingletonClass& getInstance()
{
return instance;
}
void ShowMessage()
{
cout << "Singleton Pattern" << endl;
}
};
SingletonClass SingletonClass::instance;
void main()
{
SingletonClass::getInstance().ShowMessage();
}
출력결과
Singleton Pattern
SingletonClass::getInstance().ShowMessage();
#include<iostream>
using namespace std;
// 동적 싱글톤
class SingletonClass
{
private:
int total;
static SingletonClass* instance;
SingletonClass()
{
total = 0;
};
~SingletonClass() {};
public:
static SingletonClass* getInstance()
{
if (!instance)
{
instance = new SingletonClass();
}
return instance;
// 만들어진 객체가 없다면 만들고, 이미 있다면 있는 객체를 리턴
}
void ShowMessage()
{
cout << "Singleton Pattern" << endl;
}
void AddValue(int value)
{
total = total + value;
}
int getTotalValue()
{
return total;
}
};
SingletonClass* SingletonClass::instance = NULL;
class Temp
{
public:
Temp()
{
SingletonClass::getInstance()->ShowMessage();
}
};
void main()
{
SingletonClass* ins1 = SingletonClass::getInstance();
SingletonClass* ins2 = SingletonClass::getInstance();
SingletonClass* ins3 = SingletonClass::getInstance();
ins1->AddValue(10);
cout << "total : " << ins1->getTotalValue() << endl;
ins2->AddValue(10);
cout << "total : " << ins1->getTotalValue() << endl;
ins3->AddValue(10);
cout << "total : " << ins1->getTotalValue() << endl;
}
출력결과
total : 10
total : 20
total : 30