전체 글(603)
-
자료형
자료형PHP는 여덟가지 기본 자료형을 지원한다.- 네 가지 스칼라형 : boolean, integer, float(부동소수, double), string- 두 가지 복합형 : array, object- 두 가지 특수형 : resource, NULL boolean- 참(TRUE) 또는 거짓(FALSE) 중 하나의 상태를 표현하는 진위판별형 변수- boolean은 조건문에서 참/거짓 판별 시에 사용한다.- boolean으로 명시적 변환을 하기 위해서는 (bool) 또는 (boolean) 캐스트를 사용해야 하지만, 일반적으로 연산자, 함수, 조건문에서 boolean 인자를 필요로 할 경우 자동으로 형변환되므로캐스트를 해 줄 필요가 없다. integer- …, -2, -1, 0, 1, 2, … 등의 정수 값을 ..
2015.07.28 -
counted_ptr 구현
서론스마트 포인터를 공부하며 참조 카운팅 형식으로 객체 관리하는 클래스를 만들어보았다.물론 소스를 참고했지만.. 이게 구현하다보니 어디서 다운 받았는지 기억이............ 구현counted_ptr.h (템플릿) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#pragma once // counted_ptrtemplate class counted_ptr {public: // 포인터를 이용한 초기화 new를 통해 초기화한다. explicit counted_ptr (T* p = 0) : m_ptr(p), m_count(new ..
2015.07.28 -
가비지 컬렉션
정의C#은 CLR이 자동 메모리 관리 기능(Automatic Memory Management) 기능을 제공한다. 이 자동 메모리 관리 기능의 중심이 가비지 컬렉션(Garbage Collection)이다. 프로그래머로 하여금 무한한 메모리를 사용할 수 있도록 코드를 작성하게 할 수 있다.가비지 컬렉션을 담당하는 것이 가비지 컬렉터(Garbage Collector)라 한다.가비지 컬렉터는 객체 중에 사용하는 것과 사용하지 않는 것을 분리하여 쓰레기들만 조용히 수거한다.가비지 컬렉터도 CPU와 메모리 같은 컴퓨팅 자원을 소모하므로 이 자원을 최소한으로 사용하게 하는 것이 프로그램의 성능을 향상시킬 수 있다. 가비지 컬렉터가 지우지 못하는 메모리C#에서 작성된 모든 코드는 관리형 코드(Managed Code)에..
2015.07.28 -
[크롬] 트레이 없애기(for mac)
서론최근 토론 때문에 행아웃을 사용하다가 트레이가 갑자기 허락 없이 생겨서 조금 분노했다.건방진 구글같으니.... 내가 행아웃 트레이까진 참았는데 저 종소리 모양은 도저히 참을 수가 없었다. 방법크롬앱을 켜서 좌상단에 Chrome > 알림 아이콘 숨기기를 하면 된다.
2015.07.28 -
참조자 전달 선호하기(effective c++ 20)
값에 의한 전달객체전달객체를 값으로 전달하면 생성자와 소멸자를 반복적으로 호출하여 매우 비효율적이다. 객체손실Derived Class의 객체를 Base Class의 객체로 인자를 전달하는 경우, Derived Class 객체의 특징이 잘려버리는 것. 상수객체에 대한 참조자(reference-to-const)로 전달하게 만드는 것이다. 무조건 참조자에 의한 전달이 좋은가?기본 제공 타입기본제공 타입에 대해서는 ‘값에 의한 전달’을 선택하더라도 엉터리가 아니고 더 효율 적일때가 많다. STL과 함수객체STL의 반복자와 함수 객체는 값으로 전달하는 것이 효율 적이다. (예전부터 반복자와 함수 객체는 값으로 전달이 효율적인 구조로 설계되어있다.) 반복자와 함수 객체 구현 원칙복사 효율을 높일 것.복사손실 문제에..
2015.07.28 -
디폴트들 사용금지령(effective c++ 06)
서론클래스에서 기본적으로 제공하는 기능들이 있다.(복사생성자, 대입연산자 등)자동으로 이러한 기능들이 실행되는 것을 막기 위해서는 private로 선언하면 되겠지만, 이는 friend키워드에 대해서는 여전히 무방비하다.자동제공 되는 기능에 대응되는 메소드를 private로 선언한 후구현하지 않은채로 두고, 해당 클래스를 상속받아 사용하는 방법이 있다. 예시 C++에서 class에 대해 기본적으로 제공하는 기능들은 사용자가 제한하지 않는다면 컴파일러가 임의로 작동하고만다. 이렇게 예외적인 상황없이 사용자가 의도대로 사용하려 하는 경우 해당 기능을 반드시 처리하여야 한다
2015.07.27