애초에 C++ 개발자가 C 대체 언어를 목적으로 만든거라 C에 있는 기능 C++에 다 있잖아
댓글 33
OOP 까지 가능하니 얼마나 좋아
익명(220.76)2020-03-21 01:08
C++ 서브셋 벗어난지 오래임 C는
익명(121.132)2020-03-21 01:10
답글
서브셋에서 어떻게 벗어남? C++이 C기능을 포함하는데
익명(220.76)2020-03-21 01:11
답글
수퍼셋이 맞는말같은데 - dc Cpp
17번(wjd918273)2020-03-21 01:13
답글
아무튼 각자 갈길 좀 갈라짐 - dc Cpp
17번(wjd918273)2020-03-21 01:13
답글
전부 포함하지 않는다. 자료형 다루는, 돌아가는 기준도 다르고 똑같아 보이는 코드도 다르게 동작하는거 많고 C의 함정이 C++에 없는 경우도 있고 그 반대도 있다. 제네릭은 완전 다른 물건 수준임 둘이
익명(121.132)2020-03-21 01:14
답글
이제는 사실상 비슷한 키워드, 스타일을 가지고 있는 완전 다른 언어라고 봐야지
익명(121.132)2020-03-21 01:15
답글
C++도 빠른속도, 다른 OOP언어에 비해 상대적으로 적은 용량 다 가지고있자나
익명(220.76)2020-03-21 01:15
답글
'C의 함정'이라는게 뭐임?
익명(220.76)2020-03-21 01:16
답글
아니 똑같은 코드 적어도 똑같이 안돌아간다고 컴파일도 제대로 안돼 표준을 제대로 지켰다는 가정하에
익명(121.132)2020-03-21 01:16
답글
깊게 갈것도 없이 문자열의 기본 자료형 다르고 C는 묵시적인 자료형을 허용하고 기본으로 int로 돌아가지만 C++는 그런 문법 절대 안된다.
익명(121.132)2020-03-21 01:19
답글
c++ 컴파일러에 c언어 처음 배울 때 쓰는 printf("Hello world"); 쓰면 잘 돌아가는데?
익명(220.76)2020-03-21 01:20
답글
문자열의 기본 자료형이 '다르다' 라니.. C에는 '문자열' 자료형이라는게 없고, 묵시적 자료형도 컴파일러에 따라 다름
익명(220.76)2020-03-21 01:22
답글
C에서 제네릭이 매크로 기반이고 C++은 제네릭이 템플릿을 사용하는 방법 중 하나이고 auto 키워드 용도도 다르고 연산자와 기호가 해석이 전혀 다른 경우도 많다.
익명(121.132)2020-03-21 01:22
답글
난 표준이라고 말했다. 표준상 C는 자료형 안적으면 무조건 int이고 정의가 없는 함수도 '존재'한다고 가정한다. 그리고 내가 말한 문자열은 리터럴 문자열이다. 쌍따옴표로 묶은거. 그거 자료형 다르다.
익명(121.132)2020-03-21 01:23
답글
또한 표준상 C에서 파라미터를 비워두면 파라미터가 없다는 뜻이 아니기 때문에 void를 반드시 명시해야 한다.
익명(121.132)2020-03-21 01:24
답글
또 얘기해줄까 C++에서 직접 테스트 해보지는 않았지만 struct hack 같은것도 C99 표준에서만 공식적으로 지원한다.
익명(121.132)2020-03-21 01:27
답글
C가 종류가 많네
익명(220.76)2020-03-21 01:30
답글
종류가 많은게 아니라 C++마냥 버전이 여러가지일 뿐이지. C++이 C의 완전한 슈퍼셋이라면 둘이 표준화를 따로따로 할 이유도 없음. C90만 해도 C++ 호환 안되는거 꽤 되는데 C99, C11은 아예 서로 대놓고 다른 길 간다는걸 보여주고 있음.
익명(121.132)2020-03-21 01:33
답글
그럼 우리가 C 배운다고 책보면서 공부할 때 그런거 다 신경써야하는거아님?
익명(220.76)2020-03-21 01:34
답글
아예 C를 할 생각이라면 C++보다 일단 C 문법은 기본이고 C에서 중요하게 다뤄야 하고 사람의 생각을 기준으로 짠 코드는 대부분 의도대로 안돌아가기 때문에 그런 함정들을 피하는게 실력이 갈린다고 봐야지
반면 C++은 누가 더 저 방대한 문법을 많이 알고 적당히 잘 버무리냐가 중요하고
OOP 까지 가능하니 얼마나 좋아
C++ 서브셋 벗어난지 오래임 C는
서브셋에서 어떻게 벗어남? C++이 C기능을 포함하는데
수퍼셋이 맞는말같은데 - dc Cpp
아무튼 각자 갈길 좀 갈라짐 - dc Cpp
전부 포함하지 않는다. 자료형 다루는, 돌아가는 기준도 다르고 똑같아 보이는 코드도 다르게 동작하는거 많고 C의 함정이 C++에 없는 경우도 있고 그 반대도 있다. 제네릭은 완전 다른 물건 수준임 둘이
이제는 사실상 비슷한 키워드, 스타일을 가지고 있는 완전 다른 언어라고 봐야지
C++도 빠른속도, 다른 OOP언어에 비해 상대적으로 적은 용량 다 가지고있자나
'C의 함정'이라는게 뭐임?
아니 똑같은 코드 적어도 똑같이 안돌아간다고 컴파일도 제대로 안돼 표준을 제대로 지켰다는 가정하에
깊게 갈것도 없이 문자열의 기본 자료형 다르고 C는 묵시적인 자료형을 허용하고 기본으로 int로 돌아가지만 C++는 그런 문법 절대 안된다.
c++ 컴파일러에 c언어 처음 배울 때 쓰는 printf("Hello world"); 쓰면 잘 돌아가는데?
문자열의 기본 자료형이 '다르다' 라니.. C에는 '문자열' 자료형이라는게 없고, 묵시적 자료형도 컴파일러에 따라 다름
C에서 제네릭이 매크로 기반이고 C++은 제네릭이 템플릿을 사용하는 방법 중 하나이고 auto 키워드 용도도 다르고 연산자와 기호가 해석이 전혀 다른 경우도 많다.
난 표준이라고 말했다. 표준상 C는 자료형 안적으면 무조건 int이고 정의가 없는 함수도 '존재'한다고 가정한다. 그리고 내가 말한 문자열은 리터럴 문자열이다. 쌍따옴표로 묶은거. 그거 자료형 다르다.
또한 표준상 C에서 파라미터를 비워두면 파라미터가 없다는 뜻이 아니기 때문에 void를 반드시 명시해야 한다.
또 얘기해줄까 C++에서 직접 테스트 해보지는 않았지만 struct hack 같은것도 C99 표준에서만 공식적으로 지원한다.
C가 종류가 많네
종류가 많은게 아니라 C++마냥 버전이 여러가지일 뿐이지. C++이 C의 완전한 슈퍼셋이라면 둘이 표준화를 따로따로 할 이유도 없음. C90만 해도 C++ 호환 안되는거 꽤 되는데 C99, C11은 아예 서로 대놓고 다른 길 간다는걸 보여주고 있음.
그럼 우리가 C 배운다고 책보면서 공부할 때 그런거 다 신경써야하는거아님?
아예 C를 할 생각이라면 C++보다 일단 C 문법은 기본이고 C에서 중요하게 다뤄야 하고 사람의 생각을 기준으로 짠 코드는 대부분 의도대로 안돌아가기 때문에 그런 함정들을 피하는게 실력이 갈린다고 봐야지 반면 C++은 누가 더 저 방대한 문법을 많이 알고 적당히 잘 버무리냐가 중요하고
반대로 C를 배우면 cpp는 더 쉽게 배울수있지 않을까요!
C언어 = 중학수학 C++ = 대학수학
C# 은 머밈?
C#은 분류하자면 공학이지 얘는 C랑 노상관
중딩수학 모르는데 대딩수학 하겟누??
그럼 c++ 부터 배우는 사람은 대학수학먼저 배우는거냐?
c++책 90%이상이 초반엔 c언어 복습 인데 그게 C인지 C++인지 모르면 하나마나임 C++땔깜이라고 들어봣냐?
어떤 언어를 배우든 자기 개인취향이긴 하지만
C언어는 간단하고 단순 명료해서 처음 프로그래밍 언어로 배우기 좋아 컴퓨터가 메모리를 어떻게 다루는지 포인터를 통해 느껴볼 수 있기도 하고
또한 현대의 수 많은 인기 언어들이 C언어를 모티브로 하여 만들어진 언어들이 많아 C family language 라고 해서 C++, JAVA, GO, RUST, DART 등등 매우 많아
고로 C언어를 배우면 C family 계열 언어들을 학습할 때도 수월하게 할 수 있다는 말이야
임베디드 소형기기는 아직도 c89표준을 쓴다지