C++ 빠르게 익히기.

2022. 8. 3. 21:58STUDY/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. 

참조자 라는게 따로 있음. 이건 나중에....

https://modoocode.com/141

 

씹어먹는 C++ - <2. C++ 참조자(레퍼런스)의 도입>

 

modoocode.com

 

5. 

cin 과 getline() 의 차이점 

https://jhnyang.tistory.com/107?category=850633 

 

C언어 문자열 istream::getline()과 C++ string의 getline()! 한 줄 읽는 함수가 두 개?

[C언어, C++언어, JAVA언어 포스팅 링크, 라이브러리 함수 모음 링크] [C/C++] 포스팅에 들어가기 전 cstring vs string.h vs string 스트링클래스 차이(C-strings vs std::string) 이 포스팅을 먼저 읽고 보길..

jhnyang.tistory.com

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