분류 전체보기
Singleton Pattern, Lazy Initialization
Singleton Pattern? 싱글톤을 사용할 클래스를 통해 최초 한번만 메모리를 할당하고, 단 하나의 인스턴스만을 갖도록해 이에 대한 전역적인 접근점을 제공하는 디자인 패턴 왜 사용할까? 1. 싱글톤으로 만들어진 인스턴스는 전역 인스턴스이기에 타 클래스에서 사용이 편하기 때문 2. 공통된 객체를 여러개 생성해서 사용해야하는 경우에 싱글톤을 사용하면 좋다. 3. 인스턴스가 절대적으로 한개만 존재하길 바랄때 사용. 4. 고정된 메모리 영역을 가지게 되어 메모리를 낭비하지 않음. 문제점? 1. 현업에서의 goto를 쓰면 안된다! 라는 것처럼 싱글톤도 비슷한 문제점이 있다. 싱글톤의 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유할 경우 타 클래스의 인스턴스들간에 결합도가 높아져 객체 ..
02. C++ namespace
namespace란 무엇일까? name : 이름 space : 공간 의미 그대로 해석해보면, 이름공간? 이라는 의미로 해석된다. C++의 namespace는 Java의 패키지나 C#의 namespace와 비슷하며, 3개 언어에서 모두 함수, 클래스 등등의 이름 충돌을 피하기 위해 사용된다. 오늘 포스팅 하고자 한 것은 C++의 namespace이기에 그에 포커스를 맞춰 진행해보겠다. C++을 처음 입문해보면, C++ 표준 라이브러리{Ex. cout(출력문), cin(입력문)}을 사용하려면, std::를 통해 표준 라이브러리 기능을 사용하거나, using namespace std;를 전처리기 밑에 선언해 std:: 없이 C++ 표준 라이브러리의 기능을 모두 사용할 수 있게 된다. C++을 처음 ..
01. C/C++ Input, Output 입출력
프로그래밍에 처음 입문하면, 콘솔창에 무언갈 출력하는 것 부터 시작하지 않나 싶다. 위 포스팅은 C, C++언어의 입출력에 대해 설명한다. C언어는 printf()라는 C언어의 표준 출력 함수를 사용해 여러 종류의 데이터를 다양한 서식 지정자를 통해 원하는 데이터에 맞춰 출력할 수 있다. 또한 다양한 이스케이프 시퀀스 (\?) 등을 printf에 사용해 개행을 한다던지 Tab을 적용한다던지, 경고음 출력까지도 할 수 있다. C++은 C++ Standard Library (C++ 표준 라이브러리)에 있는 cout (Console Out)을 통해 출력한다. 위의 한줄을 코드로는 std::cout으로 나타낼수 있으며, 개행은 C의 \n 및 std::endl 을 통해 할 수 있다. C++의 cout..