понедельник, 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 г.