CPP/StaticConstInitialization

From ProgrammingExamples
< CPP
Jump to: navigation, search

main.cpp

#include <iostream>
 
#include "StaticConst.h"
 
int main(int argc, char* argv[])
{
  std::cout << MyClass::float_sqrteps << std::endl;
  return 0;
}

StaticConst.h

#ifndef STATIC_CONST_H
#define STATIC_CONST_H
 
class MyClass
{
public:
  // static const float float_sqrteps  = 3.4526698307e-4f; // this is not ok
  static const float float_sqrteps;
};
 
#endif

StaticConst.cpp

#include "StaticConst.h"
 
const float MyClass::float_sqrteps = 3.4526698307e-4f;

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
Project(StaticConst)
 
ADD_EXECUTABLE(StaticConst main.cpp StaticConst.cpp)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")