C++ 빠르게 익히기.
2022. 8. 3. 21:58ㆍSTUDY/C++
반응형
C언어와 다른점 / 같은점 으로 우선 구분한다 !!!
# 같은 점
기본적인 문법구조 :
조건문 ; if / else, switch 문 동일.
제어문 : for / while / break / continue 등등 은 동일하다.
# 다른점.
1. print하는게 다르다. scanf 는 cin 으로 받고, cout 는 printf를 대신한다.
끝에 endl은 줄바꿈 + flush인데, 그거 말고 그냥 \n 으로 줄바꿈 하는게 낫다고한다.
#include <iostream>
using namespace std;
int main() {
int N;
int *arr = new int[2];
for(int i = 0 ; i < 2; i++)
cin >> arr[i];
for(int i = 0 ; i < 2; i++)
cout << arr[i] << "\n";
delete[] arr;
return 0;
}
2. 그리고 메모리 할당을 하는게 다르다.
malloc대신 new로 하고, free대신 delete를 한다.
위의 소스는 1차원 배열이고,
아래는 2차 배열 동적 할당이다.
#include <iostream>
using namespace std;
int main() {
int r, c;
cin >> r >> c;
int **arr;
arr = new int*[r]; // 행
for(int i = 0; i < r; i++) {
arr[i] = new int[c]; // 열
}
for(int i = 0; i < r; i++) {
delete[] arr[i];
}
delete[] arr;
return 0;
}
3.
scanf는 정수형 입력시 &를 붙였는데, C++는 안붙여도 됨. 심지어 int , char 형태 구분 안해도됨.
4.
참조자 라는게 따로 있음. 이건 나중에....
5.
cin 과 getline() 의 차이점
https://jhnyang.tistory.com/107?category=850633
cin 은 , 입력시 구분을 띄어쓰기나 엔터, 탭을 무시하고 받는다. cin 은 내부적으로 공백을 무시하고 정상적인 문자 입력을 기다리고, 그 값만 반영하도록 되어있음.
getline은 줄바꿈또한 (엔터) 포함한다.
이런 차이를 잘 파악하고 소스에 써야함.
728x90
반응형
'STUDY > C++' 카테고리의 다른 글
c++ - stack/queue (0) | 2022.08.07 |
---|---|
C++ - list (0) | 2022.08.06 |
C++ - vector (0) | 2022.08.06 |
vector & array (2) | 2022.08.04 |
C++ 입출력 속도 줄이기 ! (2) | 2022.08.03 |