728x90

네임스페이스 4

[ C++ ] 네임스페이스 :: namespace 포인터 Pointer

[ C++ ] 네임스페이스 :: namespace 포인터 Pointer 네임스페이스 네임스페이스는 특정 공간에 이름을 붙여 주기 위한 문법 요소이다.. ::을 사용하고 이름 공간 중첩 가능하다. 문자열을 매개변수에 전달하려고 할 때 const char* str을 사용한다. const 레퍼런스 const 레퍼런스는 상수 기능을 한다. 포인터로 값을 수정하려고 해도 수정 불가능하다. 문자열은 기본적으로 포인터를 사용해 간접 참조 활용한다. 모자란 인수 대신 매개변수의 기본값이 사용된다. 기본값 설정은 함수 선언 부분(맨 앞)에(맨앞) 명시한다. void function(int n = 0); 따라서 매개변수의 기본값은 오른쪽에 치우쳐 기술되어야 함. JAVA에서는 매개변수의 기본값을 설정할 수 없다. C의 메..

C++ Programming 2021.11.05

[ C++ ] 객체지향 프로그래밍 C++

[ C++ ] 객체지향 프로그래밍 C++ C++은 C보다 더 엄격한 type-checking을 수행한다. 최대한 상호작용하여 객체지향적으로 프로그래밍하자. 객체 : 연관된 정보들의 묶음. 데이터와 알고리즘을 하나에 넣는 것이다. 이 문제를 풀기 위해서 어떤 객체가 필요한가 가 중요하다. 실생활과 밀접하다. 문제를 크게 보아 상향식 설계로 작은 단위의 필요한 객체들을 만들고 더 큰 단위의 객체를 생성한다. 즉, 낮은 수준의 객체를 이용하여 더 높은 수준의 객체를 작성하는 것이다. 객체지향적으로 객체를 이용하면 외부의 작업에 의해서가 아니라 내부적으로 밥을 지을 수 있어야 한다.. 객체와 객체가 서로 상호작용한다. 많은 함수 호출 메커니즘이 필요하다. 개념 정의 네임스페이스 (JAVA 패키지) : 식별자가 ..

C++ Programming 2021.11.04

JAVA와 c++의 차이점

JAVA와 c++의 차이점 JAVA와 다르게 bool 데이터를 정의할 때 0또는 0이 아닌 모든 값으로 false/ true를 지정할 수 있다. c++ 블록 내 어디서든지 지역변수를 선언 할 수 있다. 사용할 변수 이름을 다소 명확하게 할 수 있지만, 선언된 변수를 일괄적으로 보기 어렵다. c보다 더 type checking이 엄격하게 일어나 인수가 없을 때 매개변수 리스트에 void는 선택사항이다. 반환값이 있다고 선언된 함수는 반드시 값을 반환해주어야하고 함수에 반환 자료형이 명시되지 않으면 int형이라고 가정된다. 오류의 종류 컴파일 시간 오류는 컴파일 과정에서 생긴 문법적인 오류이다. 논리 오류는 컴파일 성공 후 프로그램을 실행하면서 잘못된 결과를 내는 경우에 생기는 오류이다. 실행시간 오류는 프..

JAVA의 조상 C++

JAVA의 조상 C++ c 언어의 문법을 바탕으로 객체지향적 특징을 갖도록 확장시킨 것이다. 초창기에 c++은 c with classes로 불렸다. c++은 c언어 문법 체계를 계승하면서 cc언어만큼 효율적이고 높은 이식성을 지향한다. c 언어와의 호환성이 좋아 소스 레벨 차원에서 기존의 c 소스 코드를 그대로 가져다 사용 가능하다. 링크 레벨은 c 오브젝트와 라이브러리 링크가 가능하다. 단, 엄격한 type-checking을 수행해 런타임 오류를 줄여 디버깅 시 편리하게 해 주었다.. 프로그램 = 데이터 + 알고리즘으로 구성되어 있다. 데이터는 프로그램에서 사용하는 정보이고 알고리즘은 문제를 해결하는 절차들이다. 프로그래밍 기법 중에 문제 해결 방식에 따른 분류로 절차 지향형 프로그래밍과 객체지향형 프..

728x90