목록C/C++ (15)
따..딱히 공부하려고 포스팅하는 건 아니니까..!
http://egloos.zum.com/sweeper/v/3007638
http://psychoria.tistory.com/entry/C-11-final%EA%B3%BC-override
http://pacs.tistory.com/entry/%ED%95%AD%EB%AA%A9-13-%EC%9E%90%EC%9B%90-%EA%B4%80%EB%A6%AC%EC%97%90%EB%8A%94-%EA%B0%9D%EC%B2%B4%EA%B0%80-%EA%B7%B8%EB%A7%8C-sharedptr-autoptr
인라인(inline) 함수란? 일반 함수를 사용할 때의 과정은 그 함수의 정의로 점프하여 실행한 뒤 돌아오는 과정을 행합니다. 매 번 실행할때마다 함수의 위치를 기억하여 점프하는 것은 많은 시간과 비용을 필요로 하게 됩니다. 이러한 코스트를 줄이기 위해 c++ 99에서 함수의 코드를 프로그램 위치에 바로 넣는 기능을 만들었는데 이것이 inline 함수입니다. 인라인 함수에 대한 자세한 설명http://shaeod.tistory.com/366 https://msdn.microsoft.com/ko-kr/library/bw1hbe6y.aspx _forceinline에 대한 자세한 설명http://hmjo.tistory.com/120
Singleton 패턴이란? 비 지역 정적 객체는 각자의 소스 파일에서 초기화가 이루어집니다. 이 때, 소스 파일이 여러개가 존재한다면 객체들의 초기화 순서가 각자 다르기 때문에 한 소스 파일에서 다른 소스파일의 객체를 참조할 때 문제가 될 수 있습니다. 왜냐하면 초기화 되지 않은 객체를 참조할 수 있기 때문입니다. 이런 문제를 보완하기 위해 비 지역 정적객체를 지역 정적 객체로 사용하는 방법을 고안하게 됐는데, 이것이 Singleton 패턴입니다. C++의 Singleton 구현에 대한 자세한 설명http://vallista.tistory.com/entry/1-Singleton-Pattern-in-Chttp://agbird.egloos.com/4730538
[1116 박민근] c++11에 추가된 새로운 기능들 from MinGeun Park Modern C++ 프로그래머를 위한 CPP11/14 핵심 from 흥배 최 [KGC 2011]Boost 라이브러리와 C++11 from 흥배 최 C++ 기능에 대한 msdn 링크 ▼https://msdn.microsoft.com/ko-kr/library/hh567368(v=vs.120).aspx
아시다시피 아스키코드에서는 한글 문자열을 지원하지 않는다.그렇다면 내가 한글문자열을 입출력하고 판별하고 싶을때에 어떻게 해야할까? 답은 유니코드(Wide Byte Character Set)이다. 유니코드에 대한 설명을 조금 하자면,알파벳은 1바이트지만 다른 문자들은 2바이트인 경우가 있다. 그렇기 때문에 아스키코드에서는 약간의 한계가 있었다. 그래서 다른 문자열들을 지원하기 위해서 유니코드가 만들어졌다. 문자열의 자료형으로는 wchar_t을 사용하고, 사용법은 문자열 앞에 L을 붙이면 된다. 유니코드에서는 wchar_t 자료형을 사용하는것이 더 편리한데 그 이유를 예를 들어 설명해보겠다. wchar_t* str = "zz가나다" 이라고 하자.이 때, 각 배열공간에 들어있는 문자를 살펴보면, str[0] ..
C++는 C언어를 기반으로 하고 있는 언어로, C언어에 클래스, 상속 등 객체지향의 특징과 기능을 넣은 객체지향 언어이다. 그런데 최근 Java나 C#과 같은 다른 객체지향 언어를 사용하면서 과연 C++은 객체지향 언어일까? 하는 의문이 들었다. 그래서 이번 기회에 객체지향과 C++에 대해서 조사하고 정리해보았다. 1. 객체지향말 그대로 객체를 지향한다는 의미이다. 객체지향에 대해 더 자세하게 설명하기 위해서 객체지향 프로그래밍에 대해 설명하고자 한다. 2. 객체지향 프로그래밍 (OOP, Object-Oriented Programming)프로그램을 여러개의 독립된 객체들의 모임으로 보는 프로그래밍의 패러다임을 말한다. 객체지향 프로그래밍의 특징으로는 다음과 같이 크게 5가지로 나눌 수 있다. (클래스를 ..
HEAP CORRUPTION DETECTED 에러의 원인은malloc이나 new로 할당한 메모리의 영역보다 더 큰 영역에 접근하고자 했기 때문이다. 어떤 경우가 있는지 예를 들자면, (1) new로 할당한 경우 char * a = new char[10]; 이라고 선언하고a[10]이나 a[11]과 같이 원래 할당한 공간의 영역인 10보다 더 큰 영역에 접근하려고 하면 이와 같은 에러가 난다. (2) malloc으로 할당한 경우 Test * test = (Test*)malloc(sizeof(Test*)); free(test); 이와 같이 메모리를 할당하고 해제했을 때 오류가 나는 경우이다. 실제로 위의 코드를 실행해보면 오류가 나지는 않지만만약 malloc/free 부분에서 Heap 에러가 난다면 한번쯤 훑..
1. 추상화 (Abstraction) ㅇ 실세계의 복잡한 상황을 간결하고 명확하게 단순화/일반화/개념화 (=구체화의 반대) - 이를 통해 모델링을 할 수 있게 됨 ㅇ 일반적으로, 추상화란 보통의 사람들이 이해할 수 있는 언어나 그림으로 표현하게됨 2. 추상화 과정 ㅇ 통상 구체적인 사항은 되도록 생략하고 핵심이 되는 원리만을 추구함 - 추상화를 통해 모델링되어 나타난 추상적 모델은, . 그후에 구체화(구현) 과정을 거쳐 프로그램,컴퓨터 내부언어 등으로 변환하게 됨 3. 추상화 방법의 종별 ㅇ 일반화 (Generalization) ㅇ 세분화 또는 상세화 (Specialization) ㅇ 집단화 (Aggregation) ㅇ 연관화 (Association) 4. [프로그래밍] 추상화 ㅇ 프로세스(제어)의 추상..