플밍
-
레퍼런스(&) , call-by-reference플밍/C++ (overview) 2012. 1. 3. 22:46
2006/07/26 02:33 int val; val의 별명을 ref 라고 붙여주자. 방법 : int &ref = val; val의 이름이 두개 생겼다. val 그리고 ref. int &ref; //ERROR int &ref = 10; //ERROR 변수란? 메모리 공간에 할당된 이름을 의미한다. C에선 한 메모리 공간에 1개만의 이름을 할당할수 있었지만, C++에선 한 메모리 공간에 2개 이상의 이름을 할당 할수 있다. ================================================ 어짜피 같은건데, 어디에 쓸까? 함수 호출에서, call-by-value와 call-by-reference방식이 있다. 전자는, 말 그대로 값을 그대로 복사해서 넘겨주는 방식이다. 그렇다면, call..
-
const, * ..플밍/C++ (overview) 2012. 1. 3. 22:45
2006/07/26 02:14 const int p = 10; int const p = 10; (같은 표현) p = 10; ------------------------------------------------------------------------------ => 컴파일 에러 [p : const int p] ------------------------------------------------------------------------------ const int *p; int const *p; (같은 표현) int t=10,y=20; p = &t; p = &y;
-
namespace, (범위지정연산자)플밍/C++ (overview) 2012. 1. 3. 22:44
2006/07/26 01:30 void f(){ ...xx } void f(){ ...yy } int main(){ f(); NAMESPACE에 속한 FUNCTION을 쓰겠다. ( :: means "SCOPE RESOLUTION OPERATOR"[범위지정연산자]) 2. using NAMESPACE :: FUNCTION; using namespace NAMESPACE; 3. 범위지정연산자의 또다른 쓰임새 (* 지역변수는 전역변수의 이름을 가린다.) int top; int main(){ int top; :: top += 1; //바깥에 있는(전역의) top을 1증가시켜라. }
-
매크로, inline플밍/C++ (overview) 2012. 1. 3. 22:43
2006/06/30 04:42 방법 1. 매크로 ============= #define SQUARE(x) ((x) * (x)) std::cout std::cout inline화 되었다. [방법 1. 매크로 방법 2. C++의 inline 키워드] -------------------------------------------------------------- * 함수호출과는 메커니즘이 다르다. (함수 호출은 스택공간도 필요하고, 시간도 걸린다.) 매크로 단점 : 함수 구현 까다롭고, 디버깅 어려움 매크로 장점 : 성능상 이점. (시간, 비용) 방법 2. inline 키워드 =================== inline int SQUARE(int x){...} * 함수 정의 후 앞에 inline만 붙여주면..
-
C++ overloading플밍/C++ (overview) 2012. 1. 3. 22:39
2006/06/30 04:19 C컴파일러는 호출하고자 하는 함수를 찾을때 오로지 함수의 이름이라는 정보만을 가지고 찾기 때문에 정의된 매개 변수의 형태가 달라도 동일한 이름의 함수 정의는 허용하지 않는 것이다. 그렇다면 C++컴파일러는? 함수의 이름뿐 아니라 매개 변수의 정보까지도 참조를 한다. 따라서 C++는 이름이 같고(return type도 같고) 매개 변수의 타입 혹은 개수가 다른 함수들의 정의를 허용한다. 그리고 이를 가리켜 함수 오버로딩(function overloading) 이라 한다. ============================= int function(int x) void function(int x) -> overloading 되었다고 하지 않는다. (컴파일 오류) (리턴타입이 다..
-
php5 에서 cal_days_in_month 작동 안될때플밍/PHP+MySQL 2011. 8. 29. 05:35
php5 에서 cal_days_in_month 작동 안될때 2009/09/07 21:31 //some old php versions don't have cal_days_in_month(), this code accounts for that if(!function_exists('cal_days_in_month')){ function cal_days_in_month($calendar,$month, $year){ // $calendar just gets ignored, assume gregorian // calculate number of days in a month return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 2..