본문 바로가기

상수

STL - 변경 불가 시퀀스 알고리즘 변경불가 시퀀스 알고리즘은 대상 컨테이너를 직접 수정 할 수 없는 알고리즘입니다. 이러한 알고리즘에는 시퀀스를 검색하여 원하는 원소를 찾아내는 알고리즘은 find, 상등 여부를 검사하는 equal, 그리고 시퀀스에 담긴 원소의 원소 개수를 세는 count 같은 알고리즘 등이 있습니다. 일단 우리가 알아볼 변경불가 시퀀스 알고리즘에는 find, adjacent_find, find_if, count,count_if, for_each, mismatch, equal, search 이렇게 여러 알고리즘이 있는데, 여기 에서 언급된 변경불가 시퀀스들의 시간복잡도는 선형적입니다. (선형은 무엇인가? 아래 표를 한번 참고해 보시죠) find : 우선은 find 알고리즘에 관해서 알아 보겠습니다. find 알고리즘은 시.. 더보기
[EC++] 항목 20. 값에 의한 전달보다는 상수 객체 참조자에 의한 전달 방식을 택하는 편이 대게 낫다. 우선 이번 항목에서는 쟁점이라고 할 수 있는 것은 Pass by Value(Call by value) 의 두가지 문제점을 제기 하는데요. 첫번째는 바로 고비용 문제 입니다. 기본적으로 C++는 함수로부터 객체를 전달받거나 함수에 객체를 전달할 때 값에 의한 전달 방식을 사용하는데요. 특별히 다른 방식을 지정하지 않는 한, 함수 매개변수는 실제 인자의 '사본'을 통해 초기화되며, 어떤 함수를 호출 한 쪽은 그 함수가 반환한 값의 사본을 돌려받습니다. 이들 사본을 만들어 내는 곳이 바로 복사 생성자인데, 이런 점 때문에 고비용의 연산이 되기도 합니다. 한번 예제를 보면서 알아 보도록 하겠습니다. #include #include using namespace std; class person{ public: pe.. 더보기
[C/C++] 콘스트(const)란? 1. Const? : Const는 변수를 상수화 하기 위해 사용하는데, 쓰이는 위치에 따라서 용도가 조금 달라진다. - 첫번째, const int* n : 위와 같이 const가 자료형 뒤에 붙은 경우를 데이터 상수화 라고 하고 n이라는 포인터가 가리키는 대상을 상수화 하겠다는 의미가 된다. #include using namespace std; const int*n; void main() { int b =10; n = &b; b = 20; cout 더보기