c 와 c++ 에 차이는 어떤건가요? -0-;;;

sin10547의 이미지

c 와 c++ 를 배워 볼려구하는데요 ..

제가 대충알기로는 c++ 이 c 에다가 어떤거를 플러스 한거라구 했는데여 ..

그게 맞는지 궁금하구요 ... 배우게 된다면 어떤거 부터 하면 더 수월하게

배울수 있는지두 궁금해요 ..... 그리구 한가지만 배워두 되는건가요?

서적들은 게시판에서 많은 분들이 추천하신것들이 많아서 ... ^^

winchild의 이미지

C++ > C 라고 생각하면 될까 모르겠네요.

보통의 C 코드에 클래스 (오브젝티디 랭귀지)부분이 추가 되었따고 말할수 있습니다. 대부분 C 를 많이 쓰지만 꼭 C++ 이 필요한 경우도 있습니다.

단순 학습차원이라면 C++ 을 하시는것이 더 배울것이 많을것 입니다. 오브젝티브 프로그래밍은 여러군데서 이용이 가능하니까요.

- 겨울아찌 -

- 겨울아찌 -
winchild@gmail.com

etourist의 이미지

C++ 은 증가연산자.

C = C+1; /* C = C + 객체지향 */

하하 ... ^^

C언어에 "C언어로 객체지향적인 프로그래밍을 위한 여러가지 사항"들이 추가가 되었습니다.

처음 공부를 한다면 C++을 공부하는 쪽이 문법적인 측면에서는 C언어를 커버하기때문에 더 많은것이 남을 것 같습니다.

하지만, 프로그래밍을 하는 기법에는 많은 차이가 있습니다.

C언어로는 절차적인 방법으로 프로그램을 제작하고, C++언어로는 객체지향적인 시점에서 프로그램을 바라보며 작성하게됩니다.

요 몇년 사이의 유행은 객체지향이었죠. 8)

"꿈이 있는 자는 흔들리지 않는다! "

[url]http://ldk.sarang.net [/url]
"꿈이 있는 자는 흔들리지 않는다! "

dotri의 이미지

C 와 C++ 은 전혀 다른 별개의 언어입니다.
이름이 비슷하다고 "뭐 비슷하겠지" 라고 생각한다면 큰 오산입니다.
물론 문법적으로 많은 부분이 겹치긴 합니다만( 문법적으로 많은 부분이 겹치는건 C 언어와 PHP 언어도 그렇습니다 ), 언어가 만들어진 배경이라던지 언어가 사용되는 용도라던지 언어의 특징이나 성격이라던지 그런 모든 부분에서 C 와 C++ 은 전혀 다릅니다.
만일 배우시겠다면 우선 C 를 배운 후에 C++ 을 배울 것을 권합니다. 왜냐하면 C -> C++ 순서로 배운 사람은 C 언어도 쓸 수 있고 C++ 도 쓸 수 있게 됩니다만 C++ 만 배운 사람은 C 는 못쓰고 C++ 만 쓸 수 있습니다.

mmresult의 이미지

C++ is better than C
이 말을 이해 하기 까지 얼마나 많은 시간이 걸렸는지 몰라요. 8)

ksil의 이미지

C를 알고 있다가 C++를 접해본 사람중 한명으로...

둘다 만만치 않습니다. ㅠ.ㅠ

현재 전 거의 C만 쓰고 있어서 아무래도 C를 먼저 권해 드리고 싶습니다.

아마 C는 열악한 환경(지원이 별로 없는 상황 --, 예를 들어 임베디드 시스템이라던지... 드라이버라든지...)에서는 쓰일수 밖에 없습니다.

하지만 그냥 공부하시고 싶다면 아무래도 C++이 더 적합할것 같군요.

musiphil의 이미지

winchild wrote:
C++ > C 라고 생각하면 될까 모르겠네요.

보통의 C 코드에 클래스 (오브젝티디 랭귀지)부분이 추가 되었따고 말할수 있습니다. 대부분 C 를 많이 쓰지만 꼭 C++ 이 필요한 경우도 있습니다.

단순 학습차원이라면 C++ 을 하시는것이 더 배울것이 많을것 입니다. 오브젝티브 프로그래밍은 여러군데서 이용이 가능하니까요.

- 겨울아찌 -

C++에 추가된 것은 단지 객체지향(object-oriented) 부분만이 아닙니다. 템플릿으로 대표되는 총칭적 프로그래밍(generic programming)을 빼먹으면 안 됩니다. 클래스와 템플릿은 C++의 양대 기둥이라고 할 수 있으니까요.

Bjarne Stroustrup wrote:
C++ is a general-purpose programming language with a bias towards systems programming that
- is a better C
- supports data abstraction
- supports object-oriented programming
- supports generic programming
musiphil의 이미지

dotri wrote:
C 와 C++ 은 전혀 다른 별개의 언어입니다.
이름이 비슷하다고 "뭐 비슷하겠지" 라고 생각한다면 큰 오산입니다.
물론 문법적으로 많은 부분이 겹치긴 합니다만( 문법적으로 많은 부분이 겹치는건 C 언어와 PHP 언어도 그렇습니다 ), 언어가 만들어진 배경이라던지 언어가 사용되는 용도라던지 언어의 특징이나 성격이라던지 그런 모든 부분에서 C 와 C++ 은 전혀 다릅니다.
만일 배우시겠다면 우선 C 를 배운 후에 C++ 을 배울 것을 권합니다. 왜냐하면 C -> C++ 순서로 배운 사람은 C 언어도 쓸 수 있고 C++ 도 쓸 수 있게 됩니다만 C++ 만 배운 사람은 C 는 못쓰고 C++ 만 쓸 수 있습니다.

"C++를 배우기 위해서" C를 배울 필요는 없습니다. 오히려, 능숙한 C 프로그래머는 C++의 새로운 방법을 익히지 못하고 계속 껍데기만 C++인 C 스타일의 프로그램에서 벗어나지 못하며 C++를 충분히 활용하지 못하는 경우도 많이 있습니다.
Bjarne Stroupstrup도 이 점은 명확히 하고 있습니다: http://www.research.att.com/~bs/bs_faq.html#prerequisite

그리고 C를 배운 사람은 C를 쓸 수 있고, C++를 배운 사람은 C++를 쓸 수 있는 것이지, 배우는 순서가 문제가 되는 것은 아닙니다. C를 배우고 나서 C++를 배우는 것이 C++를 배우고 나서 C를 배우는 것보다 특별히 권장되는 방법이라고 할 수는 없습니다.

NeoTuring의 이미지

1. C 학습(연습)
2. 방법론 학습
2.1 구조적 방법론
2.2 객체지향 방법론
3. C를 이용하여 객체지향 방법론적으로 프로그램 만들어보기
4. C++ 학습(연습)

단순히 1, 4번만 취하면 자신이 그렇게 영특하지 않다고
했을때 c/c++ 의 구문론적 차이만 알 수 있을뿐입니다.
하지만 1~4번의 과정을 모두 거치면
누구나 자연스럽게 c/c++의 의미론적 차이까지를 알게 됩니다.

hyunuck의 이미지

C++ 이라는 이름부터가 상당히 철학적입니다.
C 에다 증가연산자를 붙인것이죠. :D
그럼 C++ -> C = C + 1; 이 되는데, 그 1 이 무엇이냐면 OOP 개념입니다.
C++ 자체는 C의 개념을 확대해서 만든것 이지만, 그 방대한 확대는 새로운 언어를 탄생시켰다고 생각하면 됩니다. :D

albertyun의 이미지

개인적인 생각이긴 하지만....
C 나 c++ 둘다 능숙하게 구사 하시려면....
처음부터 둘다를 염두해 두고....공부 하고...이거하다 저거 하다..
하는 것 보다..
둘중 하나를 택해서.... 하나에 집중을 하고....
자기 생각에 능숙하다 라는 정도 생각이 들때 까지...
하나를 끝내고...
그때 다른 것을 하는게 좋을거 같네용..

Think..

mastercho의 이미지

--------------------------------------------------------------------------------

제 생각은 둘다 공부하는게 좋습니다

C++은 C에 관한 거의 모든걸 포함하고 있고

객체지향과 제네릭 프로그래밍 그리고 STL이라는 표준라이브러리를

지원해 줍니다

너무나 엄청나죠

하지만 C++책에는 저 많은걸 포함하려다보니

C++의 일부분인 C에 관한 내용은 많이 다루지 않습니다

분명 C도 C++의 일부분인데 말이죠

[약간의 문법상 차이가 있다고 하지만 거의 같다고도 볼수 있죠]

C++의 일부분인 C를 제대로 배우고자 한다면 C책을 보는것을 권장합니다

물론 큰 틀은 C++이겠지만요

하지만 C에 익숙해 져버리면 C++가지고 C++의 작은 일부분인 C 부분만을 사용하는 오용을 낫기도 하죠

제가 배울 순서는 C -> C++

로 배운뒤에

자바 언어를 좀 사용해보는게 C++로 객제지향적으로

프로그래밍을 할수 있게 도와줍니다

자바는 디폴트로 무조건 클래스 단위로 하기때문에 객체지향을 배우는데 매우좋죠

C++은 C로도 짤수 있기때문에... 왜 클래스를 쓸까?하는 생각으로

객체지향적으로 짜지 않는 경우가 발생해버립니다

한마디로 무늬만 C++인 C코드가 나오는것이죠

C++은 너무나 많은걸 지원해 주기때문에 정말 잘배워야 할거 같습니다

그럼

승자는 자기보다 우월한 사람을 보면 존경심을 갖고 그로부터 배울 점을 찾지만 패자는 자기보다 우월한 사람을 만나면 질투심을 갖고 어디 구멍난 곳이 없는지 찾는다.
- 하비스

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.