안녕하세요. 하학생입니다. 요즘 ros에 관심이 많아졌습니다. ros2에 c++ 이 쓰인다는 것을 알아서 c++에 대해 공부를 진행했습니다. 많이 부족하지만 잘 봐주세요!
c++는 다목적 프로그래밍 언어로, 다양한 응요프로그래밍을 개발하는 데 사용됩니다. C언어의 확장으로 시작하여 C의 강력한 기능을 포함하고 객체 지향 프로그래밍을 추가한 것입니다.
1. 객체 지향 프로그래밍
객체 지향 프로그래밍을 지원합니다. 클래스와 객체를 사용하여 데이터와 관련된 함수를 캡슐화하고, 코드를 모듈화 하여 유지 보수와 확장을 쉽게 합니다.
2. 강력한 표준 라이브러리
C++ 에는 풍부한 표준 라이브러리가 포함되어 있어 다양한 작업을 간단하게 처리 가능합니다.
3. 메모리 관리
C++은 개발자에게 메모리 관리의 책임을 부여합니다. 성능 최적화나 메모리 누수를 위해 강력한 도구가 될 수 있습니
다.
4. 다중 패러다임
C++은 객체 지향, 절차 지향, 제네릭 프로그래밍등 다양한 프로그래밍 패러다임을 지원합니다. 이를 통해 다양한 유형
의 프로그래밍을 작성할 수 있습니다.
5. 크로스 플랫폼
모바일 애플리케이션부터 임베디드 시스템까지 다양한 환경에서 사용됩니다.
6. 성능
C++은 하드웨어와 밀접한 접근이 가능하며, 최적화를 통해 뛰어난 성능을 제공합니다.
이름 공간(namespace)
이름 공간 이란 어떤 정의된 객체에 대해 어디 소속을 지정해 주는 것입니다.
std::cout
다음 코드는 iostream에 있는 std라는 이름 공간에 정의되어 있는 cout를 의미합니다. 만약 std::가 없을 때 컴파일러가 cout를 찾을 수 없습니다.
이름 공간을 정의하는 방법은 다음과 같습니다
namespace practice1 {
int one();
void two();
}
※만약 자기 자신이 포함되어 있는 이름공간에서는 굳이 이름 공간을 명시 안 해도 자유롭게 부를 수 있다.
#include "practice1.h"
int func() {
practice1::one();
}
다음 방식으로 practice.h에 존재하는 one을 호출할 수 있습니다.
코드를 사용할 때마다 practice1 계속 호출하면 상당히 귀찮기 때문에
#include "practice1.h"
using namespace header1;
int main() {
one();
two();
}
다음 코드를 이용하여 practice라는 이름 공간에 들어있는 one이랑 two를 사용할 수 있습니다.
그러면 같은 파일에서 실행시킬 때 namespace의 이름을 정의해줘야 하나?
답은 "아니다"입니다.
#include <iostream>
namespace {
int OpenFile() {}
int onlyfile = 0;
} // namespace
int main() {
OpenFile();
onlyfile = 3;
}
다음 예제처럼 사용하면 같은 파일에서 언제든지 함수나 변수를 접근할 수 있습니다.
C++의 문법은 C언어의 문법과 거이 완전하게 포함되어 있습니다.
#include <iostream>
int main() {
int int_mode;
char char_mode;
double double_mode;
float float_mode;
int array[10];
int *arr_pointer = array;
int *pointer_int = ∫
return 0;
}
변수 선언 같은 경우 C 언어와 동일하게 선언해 주시면 됩니다.
#include <iostream>
int main() {
for (int i = 0; i <= 10; i++) {
std::cout << i << std::endl;
}
return 0;
}
for문도 C언어와 동일하게 사용합니다. 결과는 다음과 같이 나옵니다.
#include <iostream>
int main() {
int count = 1;
if (count == 0)
std::cout << "Not 1" << std::endl;
else if (count == 1)
std::cout << "Count is 1" << std::endl;
return 0;
}
if문도 C언어와 동일합니다. 결과는 다음과 같이 나옵니다.
#include <iostream>
int main() {
int count;
std::cin >> count;
if (count == 0)
std::cout << "Not 1" << std::endl;
else if (count == 1)
std::cout << "Count is 1" << std::endl;
return 0;
}
c언어에서 scanf와 같은 역할 을 해주는 코드는 std:cin>>라는 코드입니다. 다음을 이용하여 위 코드를 구현해 봤는데요
결과 값은 다음과 같이 나옵니다.
오늘은 C++의 정의, 특징 그리고 기본 문법에 대해 공부를 진행해 봤습니다, 다음 포스팅부터는 래퍼런스 등등 공부하는 것으로 하겠습니다. 봐주셔서 감사합니다.
C++ 백준 10828번 (0) | 2023.09.14 |
---|---|
C++ 생성자 초기화 리스트, const,static변수 등등 (0) | 2023.09.10 |
C++ 복사 생성자,소멸자 (0) | 2023.09.10 |
C++ New,Delete, Class (0) | 2023.09.06 |
C++ 참조자 (0) | 2023.09.05 |
댓글 영역