본문 바로가기

전체 글

[기초] LineComment.java // 파일이름 : LineComment.java // 작성자 : 아무개 // 작성일 : 2012년 9월 25일 // 작성이유 : System.out.println 메소드 기능 테스트 class SystemOutPrintln { public static void main(String[] args) { System.out.println(7); System.out.println(3.15); System.out.println("3+5=" + 8); System.out.println(3.15 + "는 실수입니다"); System.out.println("3+5" + "의 연산결과는 8입니다."); System.out.println(3+5); // 덧셈 결과 출력 } } 더보기
STL - Vector Copy // copy 알고리즘을 이용한 복사 vDst.resize( (int)(vSrc.size()) ); std::copy( vSrc.begin(), vSrc.end(), vDst.begin() ); std::copy( vSrc.begin() + 2, vSrc.begin() + 5, vDst.begin() ); // assign 을 이용한 복사 vDst.clear(); vDst.assign( vSrc.begin(), vSrc.end() ); // 전체 복사 vDst.assign( vSrc.begin() + 1, vSrc.begin() + 4 ); 더보기
C++ - wchar_t 와 char 의 형변환 /////////////////////////////////////////////////////////////////////// //wchar_t 에서 char 로의 형변환 함수 char * ConvertWCtoC(wchar_t* str) { //반환할 char* 변수 선언 char* pStr ; //입력받은 wchar_t 변수의 길이를 구함 int strSize = WideCharToMultiByte(CP_ACP, 0,str,-1, NULL, 0,NULL, NULL); //char* 메모리 할당 pStr = new char[strSize]; //형 변환 WideCharToMultiByte(CP_ACP, 0, str, -1, pStr, strSize, 0,0); return pStr; } ////////.. 더보기
C++ - 클래스 복사방지 Effective C++ 내용 항목 06: 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자 함수의 사용을 금해버리는 예제를 보도록 하자. 상황을 만들자면... 부동산 APP을 만드는데, 그 APP에서 매물로 내놓은 가옥을 하나의 클래스로 정의한다. 그리고 모든 자산은 세상에 하나 밖에 없다고 가정한다. 1: class HomeForSale { ... }; 위와 같은 클래스를 정의하고 세상에 하나 밖에 없는 자산이니, 이 HomeForSale 클래스 객체에 대한 사본을 만드는 것은 이치에 맞지 않다. 1: HomeForSale h1; 2: HomeForSale h2; 3: 4: HomeForSale h3(h1); // h1을 복사하려 하나, 컴파일 되면 안됨! 5: 6: h1 = h2; // h2를 복사하려 하.. 더보기
C++ - 클래스 복사 방지하기 클래스가 동적으로 메모리가 할당되는 멤버변수를 가지는 경우 디폴트 복사 생성자와 대입 연산자를 사용하게 되면, 얕은 복사가 발생해 Dangling Pointer와 메모리 누수가 발생 할 수 있습니다. 때문에 클래스가 복사되는 것을 막는 방법이 필요합니다. class SomeObj { public: ... privatre: SomeObj(SomeObj&); // 선언은 하되 구현은 하지 않는다. SomeObj& operator=(SomeObj&); // 선언은 하되 구현은 하지 않는다. }; 또는 class Uncopyable { public: Uncopyable() {} ~Uncopyable() {} private: Uncopyable(Uncopyable&); // 선언은 하되 구현은 하지 않는다. Un.. 더보기
C++ - [STL] auto_ptr – 조심히 사용해야 하는 스마트 포인터 변태적인 복사 동작을 하는 스마트 포인터다. 꼭 필요한 경우가 아니라면 레퍼런스 카운팅을 하는 스마트 포인터를 사용하자. 스마트 포인터? In computer science, a smart pointer is an abstract data type that simulates a pointer while providing additional features, such as automatic garbage collection or bounds checking. - http://en.wikipedia.org/wiki/Smart_pointer 스마트 포인터란 자동으로 자원 해제를 하는 등의 추가적인 동작을 하는 포인터의 추상 데이터 타입(abstract data type)이다. 소유권(ownership)을 넘겨.. 더보기