Programming 19

can't delete incomplete type

class SessionImpl; class Session { public: Session() = default; virtual ~Session() = default; private: std::unique_ptr pImpl_; }; 이 코드를 빌드하면 visual studio 에서 아래 오류가 발생한다. 오류 C2027 정의되지 않은 형식 'SessionImpl'을(를) 사용했습니다. 경고 C4150 불완전한 형식 'SessionImpl'에 대한 포인터를 삭제했습니다. 소멸자가 호출되지 않습니다. 오류 C2338 can't delete an incomplete type 이유는 SessionImpl 이 전방선언되어 있고 Session의 생성자/소멸자가 SessionImpl의 정의를 알 수 없기 때문이다. ..

Programming/C&C++ 2021.05.17

전문가를 위한 c++ 개정4판 오탈자 등록

전문가를 위한 c++ 개정4판 읽던 도중 내용이 잘못된것 같아 오탈자 등록을 했다. https://www.hanbit.co.kr/store/books/look.php?p_code=B3215427289 전문가를 위한 C++(개정4판) C++는 마스터하기 어렵기로 악명 높지만 풍부한 기능 덕분에 게임이나 상용 소프트웨어 애플리케이션을 개발하는 대표 언어로 자리매김했다. 숙련된 C++ 프로그래머조차 잘 모르는 고급 기능도 www.hanbit.co.kr string_view의 remove_prefix와 remove_suffix동작이 스트링을 축소하려면 시작포인터를 뒤로 보내고 끝포인터를 앞으로 당겨야 하는데, 포인터를 보내는 방향이 반대로 써있는것 같아서 내용 확인 요청을 작성했다. 책 내용이 많다보니 단순 실..

Programming/C&C++ 2021.05.07

C++ Korea 제5회 세미나 후기

https://festa.io/events/226 C++ Korea 제5회 세미나 - "종합 선물 세트" | Festa! Festa에서 당신이 찾는 이벤트를 만나보세요. festa.io c++ 세미나를 한번도 가본적이 없기도하고 java나 웹개발 진영에 비하면 희귀한(?) 편이라 신청했습니다. 인기가 좋은것 같습니다. 금방 매진됬어요. 듣고 싶었던게 마지막에 있어서 좀 아쉬웠지만 한국마소도 가보고 나쁘지 않았습니다. * 세션 & 발표자료 세션 1 : C++20 Key Features Summary https://www.slideshare.net/mobile/utilforever/c20-key-features-summary C++20 Key Features Summary 모던 C++의 시초인 C++11은 ..

Programming/C&C++ 2019.04.08

[C++] std::list unique

list.unique()를 호출해도 중복이 제거 되지 않는다.(list를 오랜만에 써서.. 예전에 분명 됬던것 같은데) cf. http://www.cplusplus.com/reference/list/list/unique/문서를 보니 자기 원소를 순회하면서 바로 자기 앞에 것과 비교하여 중복을 제거 한다고 한다.링크의 example에서도 보이듯이 먼저 sort()를 호출하여 정렬을 해놓고 unique를 호출해야한다.  list.sort();list.unique();

Programming/C&C++ 2017.06.26

[펌] C와 C++ 비교

출처 : http://minamjun11.egloos.com/viewer/964423C++은 C++이란 이름에서 나타나듯, C의 Superset입니다.그래서 C는 C++의 코드를 실행할 수 없습니다.더보기 1. C는 절차적 프로그래밍(Procedural), C++은 다중 패러다임 언어(Multi paradigm) C는 프로그램의 함수간의 단계나 절차에 초점이 맞춰지나, C++은 프로세싱 과정보단, 개별 데이터에 초점이 맞춰집니다. 그래서 C++의 소스 코드를 구현 / 수정하는 것이 더 쉽습니다(상대적으로)2. C는 데이터의 보안(Secured)이 불가능하나, C++은 데이터의 보안(Secured Hidden)이 가능 구체적으로는 OOP(객체지향프로그래밍)의 장점이라고 할 수 있습니다 C는 가질 수 없는..

Programming/C&C++ 2014.11.29

[C언어] typedef struct

@구조체 선언-구조체의 선언은 struct키워드와 tag이름으로 시작, 중괄호의 끝은 반드시 세미콜론(;)으로 끝나야 한다.-선언 : 메모리공간을 사용하지 않는 것, 단지 구조체의 형태만 선언한 것.struct tagBook{char title[50];int price;}@구조체 정의-정의 : 메모리 공간을 사용하는 것struct tagBook BOOK;더보기 @선언과 동시에 변수명 정의struct tagBook{char title[50];int price;} BOOK, BOOK2, BOOK3;-구조체를 선언과 동시에 변수를 정의하는 경우 태그명을 생략 할 수 있다struct{char title[50];int price} BOOK, BOOK2, BOOK3;@typedeftypedef unsigned s..

Programming/C&C++ 2014.11.29

C언어를 사용하는 이유

1971년 데니스 리치에 의해 개발이 시작개발된 목적은 UNIX 운영체제를 만들기 위함 특징-코드가 간결하다(?)-강력하다-개발효율이 높다(?)-C언어를 사용하면 운영체제를 비롯하여 다른 컴파일러까지 개발 할 수 있다.-C언어는 이식성이 높은 언어이다.이식성이 높다는 것은 UNIX 운영체제에서 개발된 프로그램을 거의 고치지 않고, 윈도우 운영체제 등에서 사용할 수 있다는 것입니다.-함수를 사용하여 구조적인 프로그래밍을 할 수 있다, 프로그램의 특성에 따라 모듈화를 할 수 있다.-하드웨어 관련 프로그래밍이 쉽다.(임베디드, 펌웨어)-범용성이 뒤어나다.  C언어는 UNIX 운영체제의 근본이 되는 언어이다.    현재 UNIX 운영 체제의 90% 이상이 C언어로 작성되어 있으며, UNIX와 C언어는 매우 밀접..

Programming/C&C++ 2014.11.04