1. 함수명이 짧아짐.
C에는 네임스페이스도, 클래스도 없기 때문에 함수를 지을 때 보통 접두어_모듈_함수이름 으로 구성하게 된다.
이러면
dc_GalleryManager_ban_user 따위로 지어야함.
이러면 이제
dc_GalleryManager_ban_user(galju, yudong);로 매번 호출해야 한다.
이에 비해서 C++이라면
galju->ban_user(yudong)정도로 짧아진다.
2. 제너릭이 있음
C언어에서 일반적인 자료구조이 없어서 보편적인 데이터를 받는 타입을 만들 때
uint64_t를 반환하고 받아야 한다.
이거를 포인터로 반환하거나 uintptr_t로 형변환해서 사용함.
3. 소멸자.
덕분에 RAII도 가능.
이게 없어서 데이터를 정리하는 코드를 매번 삽입해 줘야함.
4. 가상함수
덕분에 인터페이스도 C++에서는 가능.
이거 C에서 하려면
switch(kind) {case YUDONG: ~~~ case GONICK: ~~~}으로 case문을 짜야함.
그게 아니면 함수포인터를 이용해서 직접 가상테이블 짜줘야 함.
해당 댓글은 삭제되었습니다.
내가 회사에서 C쓰면서 C++이 좋아진 이유? 아마 이게 크지 않을까?
A: C가 C발 소리 나올정도로 욕먹어도 유닉스 철학 위에 세워진 이상 통일성과 단순함은 그 어떤 언어도 따라올 수가 없지... B: 네...? IOCCC요?