Skip to content

cpp_STUDY

Yongho Choi edited this page Feb 4, 2021 · 10 revisions

Basic Syntax

printf

using namespace std;
int main(){
  int value = 0;
  cout << value << "context"; //printf
  return 0;
}

scanf

using namespace std;
int main(){
  int value = 0;
  cin >> value; //scanf
  return 0;
}

범위형 반복문

ex)

int fibonacci[] = {0,1,2,3,5,6};
for (int number: fibonacci)
 std::cout<<number<<'';
return 0;

//or

for (auto number: fibonacci)
 std::cout<<number<<'';
return 0;

STL

:표준 C++ 라이브러리 (Standard Template Library)
:프로그램에 필요한 자료구조와 알고리즘을 Template로 제공하는 라이브러리.


vector

  • 동적할당 vector 1d
vector<int> value_name(size, data);
  • 동적할당 vector 2d

https://leeeegun.tistory.com/3

typdef vector< vector<int> > value_name;

int x,y;
cin >> x;
cin >> y;
value_name arr;
arr.reserve(y); // malloc 처럼 할당 예약
for(int i =  0; i < y; i++){
    arr[i].reserve(x);
}
  • value_name.push_back(value) : 인덱스 끝에 값 넣기
  • value_name.size() : vector의 길이
  • value_name.begin() : vector 시작 주소
  • value_name.end() : vector 끝

String

  • String s 로 선언
  • s.at(위치) 문자열 s의 위치의 문자를 반환
  • s.size(), s.length() 문자열 길이를 반환
  • 객체끼리 파이썬처럼 문자열을 + 로 접합이 가능하다.

문자열(정수형 변환)

  • c++에서 문자열을 정수형으로 변환할 때는 atoi를 사용해야한다. 그러기 위해서 문자열객체를 char형 배열로 변환시켜야한다.
string s = "100";
int num = atoi(s.c_str());

정수형(문자열 변환)

  • to_string(정수형_자료형) 으로 변환이가능하다.

#include < algorithm >

  • sort(인덱스(시작),인덱스(끝)) : defualt 오름차순
//ex)
sort(value_name.begin(), value_name.end());
# 오름차순
sort(value_name.begin(), value_name.end(), less<value_type>());
# 내림차순
sort(value_name.begin(), value_name.end(), greater<value_type>());

이런 식으로 부분정렬 또한 가능하다.

//a~b 범위의 부분정렬
sort(value_name.begin()+a, value_name.begin()+b);

해시맵, 해시테이블

  • 배열의 방번호가 아닌 문자열을 통해서 인덱스의 값을 저장시킬 수 있음.
  • ordered_map 과 unordered_map 이 있으며 oredered_map 데이터가 많을 경우, 느려지며, unordered_map 순차를 신경쓰지않고 저장이 많은 데이터의 경우 unordered_map을 이용한다.

#include < unordered_map >

  • 선언 : unordered_map<자료형, 자료형> 변수이름; ex)
unordered_map<string, int> cons;
//cons라는 이름을 가진 string(id), int(data)를 저장할 수 있는 테이블

auto

https://dydtjr1128.github.io/cpp/2019/06/04/Cpp-auto.html

Clone this wiki locally