[C++] 기초 문법

Madeline👩🏻‍💻·2023년 6월 1일
0

코테준비

목록 보기
2/7

C언어와의 차이점을 위주로 알아보자

1. 입출력

c++에서 입출력은
cin, cout을 사용한다.
사용법은 아래와 같다.

#include <iostream> //표준 입출력 헤더파일 -> stdio.h

int main(){
    int user_input;
    std::cout <<"HelloWorld"<< std::endl;
    std::cin >> user_input;
    
    std::cout << reference::refer();
    return 0;
}

#include > : 표준 입출력 헤더파일을 가져온다.
c언어에서 #include<stio.h>>와 비슷하다.
//std::cout = printf
//std::endl = \n
//std = namespace 이름 공간

namespace는 어떤 정의된 객체에 대해 소속을 지정해주는 것이다.
만일 header1.h 헤더 파일의 내용을 가져다 사용할 떄에는

namespace header1 {
이런 식으로 사용한다.
}

또는
#include "header1.h"

namespace header1{
int func(){
//또는
header1::foo();//header1에 있는 foo를 호출
}
}

따라서 cout, cin 앞에 붙어있는 std::도 마찬가지로 namespace 이며,
붙이기 귀찮으면 코드 처음에
using namespace std;
로 이걸 갖다 쓴다고 선언해주면
뒤에서는 그냥 cout, cin으로 써도 됨

나머지 기초 문법은 C언어와 동일하다! 이제부터 다른점 😱

참조자, 레퍼런스

reference = 다른 변수/상수 가리키는 포인터 아닌 방법!!!!


#include <iostream>

int change_val(int *p){
    *p = 3;
    
    return 0;
}

int main(){
    int number = 5;
    int& another_a = number;
    
    another_a = 5;
    std::cout << number << std::endl;
    std::cout << another_a << std::endl;
    change_val(&number);
    std::cout << number << std::endl;
    std::cout << another_a << std::endl;
    
    return number;
}

참조자는 타입뒤에 &을 붙이면 된다.

int&,
double&,
int*& 이런식으로 사용한다.

단, 레퍼런스는 정의할 때 누구를 가리키는지 명시해야 한다.
int& another_a;
처럼 쓰면 안된다.
-> 포인터는 된다.

-> 투비컨티뉴

profile
🍎 Apple Developer Academy@POSTECH 2기, 🍀 SeSAC iOS 4기

0개의 댓글