Vi.Ki.ng's blog
понедельник, 7 сентября 2015 г.
Управление завершением работы
Функция atexit(void (*)()) служит для этих целей. Она будет вызвана призавершении программы.
В этой функции можно почистить указатели, закрыть файлы, сокеты и т.д.
четверг, 3 сентября 2015 г.
Перегрузка на основе целого числа
#include <iostream>
using namespace std;
template<bool val>
class Int2Type {
public:
enum {value=val};
};
template <class T,int size>
class A {
static void Do(Int2Type<false>) {
cout << "false";
}
static void Do(Int2Type<true>) {
cout << "true";
}
public:
static void Do() {
Do(Int2Type<sizeof(T)==size>());
}
};
int main() {
// your code goes here
A<int,2>::Do();
return 0;
}
вторник, 1 сентября 2015 г.
Специализация одной функции в шаблоне класса
template <class T>
class A {
public:
void foo() { cout << "foo1\n";}
void bar() { cout << "bar1\n";}
};
template<>
void A<int>::foo() {cout << "foo2\n";}
Следующие
Предыдущие
Главная страница
Подписаться на:
Сообщения (Atom)