eclipse 단축키

Tools 2008/03/22 09:03
eclipse cdt
http://www.eclipse.org/downloads/



출처 : http://winapi.co.kr

----
static_cast<타입>(대상)
상속 관계에 있는 포인터끼리, 레퍼런스끼리만 변환이 허용.
업캐스팅, 다운캐스팅 허용.
실수형과 정수형 상호 변환 허용. (double <-> int)
열거형과 정수형 상호 변환 허용. (enum <-> int)
실수형끼리 변환 허용. (double <-> float)

----
dynamic_cast<타입>(대상)
상속 관계에 있는 포인터끼리, 레퍼런스끼리만 변환이 허용.
업캐스팅 허용.
안전한 다운캐스팅만 허용. (다운캐스팅시, 원래 타입이 실제 캐스팅 대상과 같다면 변환, 아니라면 NULL 반환)
RTTI 기능 필요.

----
const_cast<타입>(대상)
상수 지시 포인터를 비상수 지시 포인터로 잠시 바꾸고 싶을 때만 사용.

----
reinterpret_cast<타입>(대상)
포인터 타입간의 변환이나 포인터와 수치형 데이터의 변환에만 사용.
태그 : C++,casting
실수, 정수의 최대, 최소값은 <float.h>  <limits.h> 에 정의되어 있다.
아래는 실수의 최대, 최소값.

#define DBL_DIG         15                      /* # of decimal digits of precision */
#define DBL_EPSILON 2.2204460492503131e-016 /* smallest such that 1.0+DBL_EPSILON != 1.0 */
#define DBL_MANT_DIG 53 /* # of bits in mantissa */
#define DBL_MAX 1.7976931348623158e+308 /* max value */
#define DBL_MAX_10_EXP 308 /* max decimal exponent */
#define DBL_MAX_EXP 1024 /* max binary exponent */
#define DBL_MIN 2.2250738585072014e-308 /* min positive value */
#define DBL_MIN_10_EXP (-307) /* min decimal exponent */
#define DBL_MIN_EXP (-1021) /* min binary exponent */
#define _DBL_RADIX 2 /* exponent radix */
#define _DBL_ROUNDS 1 /* addition rounding: near */

#define FLT_DIG 6 /* # of decimal digits of precision */
#define FLT_EPSILON 1.192092896e-07F /* smallest such that 1.0+FLT_EPSILON != 1.0 */
#define FLT_GUARD 0
#define FLT_MANT_DIG 24 /* # of bits in mantissa */
#define FLT_MAX 3.402823466e+38F /* max value */
#define FLT_MAX_10_EXP 38 /* max decimal exponent */
#define FLT_MAX_EXP 128 /* max binary exponent */
#define FLT_MIN 1.175494351e-38F /* min positive value */
#define FLT_MIN_10_EXP (-37) /* min decimal exponent */
#define FLT_MIN_EXP (-125) /* min binary exponent */
#define FLT_NORMALIZE 0
#define FLT_RADIX 2 /* exponent radix */
#define FLT_ROUNDS 1 /* addition rounding: near */
출처 : http://digitalab.pcu.ac.kr/?document_srl=79385&listStyle=webzine&mid=study_etc


#include <stdio.h>
#include <math.h>         // sin(.), cos(..)
#define  PI  3.14159
/*
원점(origin)    : O( 0, 0 )
회전할 대상(taget)  : T( tx, ty ),
회전중심점(center)  : C( cx, cy),
회전후의점(new pt)  : N( nx, ny),
주어진 회전중심점 C에 대하여 회전하는 문제는
회전중심점 C가 원점 0와 일치하도록 회전할 점 T를 함께 평행이동한 후
z-축을 중심으로하여 원점 0에서 주어진 각 q만큼 회전하고
다시 원점 0가 처음 주어진 회전중심점 C와 일치하도록 함께 평행이동합니다.*/
void rotate(  float* nx, float* ny, float tx, float ty, float cx, float cy,  float q )
{
    float cosq = cos( q ), sinq = sin( q );
    // 회전중심점 C가 원점  O와 일치하도록 회전할 점 T를 함께 평행이동
    tx -= cx, ty -= cy;
    // 원점 O에 대하여 회전할 점 T를 q라디안 만큼 회전
    *nx  =  tx *  cosq - ty * sinq;
    *ny =  ty * cosq + tx * sinq;
    // 원점 O가 원래의 회전 중심점 C와 일치하도록 회전된 점 N과 함께 이동
    *nx += cx, *ny += cy;
}
태그 : c,C++,math
Graphics File Formats