본문 바로가기

전체 글140

알고리즘 - 개요 이하 모든 글은 goorm edu의 비타 알고 2를 공부하며 정리하는 내용임. 알고리즘 : 문제를 해결하는 방식, 기법, 순서 시간 복잡도 : 알고리즘을 해결하는 동안 걸리는 시간을 나타내는 방법. 빅 오 표기법을 사용한다. O( n ) 구현 : 알고리즘을 실제 실행 가능한 코드로 나타내는 것. 순서도 : 알고리즘의 순서를 도형으로 나타낸 것. 의사코드 : 실제 코드로 작성하기 이전에 일반적인 언어를 이용해 간이로 작성한 코드. 2020. 3. 4.
c/c++ 클래스에서의 static, const static : 클래스, 구조체가 아닌 곳에서 사용할때는 변수를 정적 변수로 바꾼다. 변수는 기본적으로 자동주기에 의해 코드블럭 밖으로 나가거나, 함수가 종료되면 삭제된다. 그러나 static 접두사가 붙으면 정적 주기로 바뀌어 범위를 벗어나도 삭제 되지 않는다. 선언과 동시에 초기화가 권장되며 프로그램 종료시까지 유지된다. 범위는 지역변수와 같으며, 용도는 전역변수와 같다. const : 변수를 상수화 시키는 접두사. 일반 변수를 임의대로 변경할 수 없게 하여 고유의 값으로 사용하도록 한다. 클래스 멤버 변수 및 함수의 static 멤버 변수,함수에서 사용되는 static은 공유의 기능을 가진다. 객체 : 기본 static 변수와 같은 기능. 멤버 변수 : 해당 클래스로 생성된 객체에서 공유되는 변수... 2020. 1. 28.
Array 많은 프로그래밍 언어에서 기본적으로 지원하는 자료구조로 선형 자료구조의 대표격으로 리스트와 거의 비슷하다. 리스트와 차이점은 물리적 메모리의 주소값이다. 리스트는 포인터로 구성된 만큼 물리적 메모리가 선형적으로 딱 붙어있지 않는다. //리스트 그림. 메모리 주소 배열은 물리적 메모리가 딱 붙어서 저장된다. //배열 그림. 메모리 주소 배열에는 정적 배열, 동적 배열이 있다. 정적 배열 : 배열 선언시 크기가 정해지는 배열. c++ 에서는 선언후에 길이를 재조정 할 수 없다. 동적 배열 : 포인터를 기반으로 생성하는 배열로, 필요한 경우 재할당을 통한 길이 조정이 가능하다. 배열을 구성하는 단위를 '요소' 라고 하며 각 요소는 index라고 하는 고유의 번호를 가지게 된다. 실제로 저장되는 값은 아니다. .. 2020. 1. 28.
c/c++ c확장 - 입출력, 인라인 함수, namespace 입출력 stdio.h -> iostream 으로 변경 변수별 출력에서 스트림 출력으로 변경. 스트림 : 데이터의 흐름. 인라인 함수 코드라인(메인함수) 외부의 함수를 내부로 복사해 처리하는 함수. 매크로 함수와 비슷한 기능. 차이점 : 매크로 함수는 복잡한 함수를 정의하기 어렵거나 가독성이 떨어짐. 인라인 함수는 이런 문제를 해결함. 매크로 함수는 자료형에 상관없이 사용가능. 인라인 함수는 템플릿이 아니면 자료형에 구애받음. 매크로 함수는 전처리기에서 처리. 인라인 함수는 컴파일러에서 처리. 반복문이 많이 처리되지 않거나 간단한 함수들은 컴파일러에 의해 자동적으로 인라인화 되기도 한다. namespace 직역하면 이름 공간. 의역하면 소속, 팀, 그룹 정도로 해석할 수 있겠다. 프로젝트 내에서 다른 소스.. 2020. 1. 22.