본문 바로가기

컴퓨터/C++9

[C++] C++의 형변환 const_cast, static_cast, reinterpret_cast, dynamic_cast 1) const_cast: 어떤 타입에서 const 속성이나 volatile 속성을 제거할 때 사용한다. ex)const int ADC_Value = 100;int i = const_cast (ADC_Value); 2) static_cast: C언어의 묵시적 형변한과 같다. ex)a) C스타일int a = 5;double b = (double)a; b) C++스타일double a = 10.0;char b = static_cast (a); 3) reinterpret_cast: 일반적으로 허용하지 않는 위험한 형변환을(강제 형변환) 할 때 사용한다. 그 안의 데이터가 어떤 객체이던 그저 비트열로만 보고 원하는 형으로 강제로 변환한다는 것이다. ex)포인터를 정수로 변환하는 작업.int a;int * b;a .. 2013. 2. 20.
[정렬][C++] Template를 이용한 Swap 함수 [정렬][C++]Swap Function(스왑 함수) templatevoid swap(T& _input1, T& _input2) { T Temp = _input1; _input1 = _input2; _input2 = Temp; } 예제) int main(void) {int a=5, b=7; char c = 'c', d = 'd'; swap(a, b); swap(c, d); cout 2013. 1. 30.
[정렬][C++] Template를 이용한 버블 정렬(Bubble Sort) Bubble Sort(버블 정렬)C++, Array Version (배열 버전) Bubble Sort Function(버블 정렬 함수) templatevoid sort_bubble(T (&_input)[n], bool _option) { int length = sizeof(_input) / sizeof(_input[0]); for(int i=0; i 2013. 1. 30.
[C++][자료구조] Template 를 이용한 Stack Source Code 열혈강의 C++ P.464 class, Template를 이용한 Stack#include using std::cout; using std::endl; template class Stack{ private: int topIdx; // 마지막 입력된 위치의 인덱스 T * stackPtr; // 스택 포인터 public : Stack(int s=10); ~Stack(); void Push(const T& pushValue); T Pop(); }; template Stack::Stack(int len){ topIdx=-1 //스택 인덱스 초기화 stackPtr=new T[len];//데이터 저장 위한 배열 선언 } template Stack::~Stack() { delete[] stackPtr; } templa.. 2013. 1. 4.