2016-07-05

const static data members 초기화

출처: http://xlos.tistory.com/869

//static data member들은모든block의밖에서define 되어야한다
//모든block의밖에서define되는static data memeber들은따로초기화값을주지않으면
//자동으로0으로초기화된다.


class Widget
{
    static int n; //declaration
};

int Widget::n = 0; //definition


//const data member들은constructor's initialization section에서초기화가되어야한다.
//member initialization list


class Widget
{
public:
    Widget() : n( 0 ) { }

private:
    const int n; //const data member
};


//const static data member들은integral type일경우, in-class initialization이허용되고,
//non-integral type일경우, class 밖에서초기화되어야한다.


#include <string>

class Widget
{
public:
//..

private:
    static const int MAX = 512;  //definition
    static const char flag = 'a';   //also a defintion
    static const std::string msg;  //non-integral type; must be defined outside the class body
};

const std::string Widget::msg = "hello";


* 참고
Integral type : bool, char, wchar_t, signed char, short int, int, long int, unsigned char, unsigned short int, unsigned int, unsigned long int

Floating-point type : float, double, long double

2016-01-14

윈도 64BIT gtkmm3 개발 라이브러리

https://github.com/codekiddy2/Visual-Studio-gtkmm/releases