C++ 벡터의 모든 요소를 합산하는 것은 std::accumulate 메소드를 사용하여 매우 쉽게 수행할 수 있습니다. 헤더에 정의되어 있습니다. 벡터에 지정된 모든 값을 지정된 합계로 누적합니다. 알고리즘 Begin Declare v of vector type. Initialize some values into v vector in array pattern. Print “Sum of all the elements ar
이것은 벡터를 생성자에 전달하는 간단한 C++ 프로그램입니다. 알고리즘 Begin Declare a class named as vector. Declare vec of vector type. Declare a constructor of vector class. Pass a vector object v as a parameter to the constructor.
C++에서 벡터 정렬은 std::sort()를 사용하여 수행할 수 있습니다. 헤더에 정의되어 있습니다. 안정적인 정렬을 얻으려면 std::stable_sort가 사용됩니다. sort()와 정확히 같지만 동일한 요소의 상대적 순서를 유지합니다. 요구 사항에 따라 Quicksort(), mergesort()도 사용할 수 있습니다. 알고리즘 Begin Decalre v of vector type. Initialize some values into v in array patte
C++에서 벡터 정렬은 std::sort()를 사용하여 수행할 수 있습니다. 헤더에 정의되어 있습니다. 안정적인 정렬을 얻으려면 std::stable_sort가 사용됩니다. sort()와 정확히 같지만 동일한 요소의 상대적 순서를 유지합니다. 요구 사항에 따라 Quicksort(), mergesort()도 사용할 수 있습니다. 벡터를 내림차순으로 정렬하려면 std::greater <>()를 사용하여 수행할 수 있습니다. 알고리즘 Begin Declare v of vector type. &nbs
C++에서 벡터를 복사하는 방법에는 여러 가지가 있습니다. 1) 표준::복사 std::copy는 한 벡터에서 다른 벡터로 요소를 복사하기 위해 내장되어 있습니다. 구문 std::copy(first_iterator_o, last_iterator_o, back_inserter()): first_iteratot_0 = First iterator of first vector. last_iteratot_0 = Last iterator of first vector. back_inserter() = To insert values from ba
최신 C++ [11,14,...]에서 벡터는 다음과 같은 방식으로 초기화됩니다. std::vector<int> vec = {1,2,3}; 알고리즘 Begin Initialize the vector v. Using accumulate, sum up all the elements of the vector v is done. Print the result. End. 다음은 벡터의 요소를 요약하는 간단한 예입니다. 예시 #include<iostream&
C/C++에서 포인터의 크기는 고정되어 있지 않습니다. 운영 체제, CPU 아키텍처 등과 같은 다양한 문제에 따라 다릅니다. 일반적으로 기본 프로세서의 워드 크기에 따라 다릅니다. 예를 들어 32비트 컴퓨터의 경우 포인터 크기는 64비트 컴퓨터의 경우 4바이트, 포인터 크기는 8바이트입니다. 따라서 특정 아키텍처의 경우 포인터 크기가 고정됩니다. int *, float * 등과 같은 모든 데이터 유형에 공통적입니다.
C++에서 Null은 0으로 정의됩니다. Null 또는 0은 정수입니다. 포인터의 경우 포인터 p를 −로 지정할 수 있습니다. Float* p = NULL; Float* p = 0; Float* p = nullptr; 그 중 3개는 동일한 결과를 생성합니다. null ptr은 NULL을 대체하기 위해 C++11에 도입된 키워드입니다.
C++ 인라인 함수는 클래스에서 일반적으로 사용되는 강력한 개념입니다. 함수가 인라인이면 컴파일러는 컴파일 시간에 함수가 호출되는 각 지점에 해당 함수의 코드 복사본을 배치합니다. 인라인 함수를 변경하면 컴파일러가 모든 코드를 다시 한 번 교체해야 하기 때문에 함수의 모든 클라이언트를 다시 컴파일해야 할 수 있습니다. 그렇지 않으면 이전 기능이 계속 사용됩니다. 함수를 인라인하려면 키워드 inline을 함수 이름 앞에 놓고 함수를 호출하기 전에 함수를 정의하십시오. 컴파일러는 정의된 함수가 라인 이상인 경우 인라인 한정자를 무시
void 함수는 아무 것도 반환하지 않기 때문에 void라고 합니다. void 함수는 아무 것도 반환할 수 없습니다. 이 문장이 항상 맞는 것은 아닙니다. void 함수에서는 값을 반환할 수 없지만 값이 아닌 다른 것을 반환할 수 있습니다. 그 중 일부는 아래와 같습니다. void 함수는 반환될 수 있습니다. void 함수는 값을 반환할 수 없습니다. 하지만 return 문을 사용할 수 있습니다. 기능이 종료되었음을 나타냅니다. 코드의 가독성을 높입니다. 예시 코드 #include <iostream> using name
펑터는 C++의 함수 객체입니다. 펑터는 어떤 클래스의 인스턴스 객체가 일반 함수인 것처럼 호출되도록 합니다. 하나의 인수를 취하는 함수를 생각해 봅시다. 이 함수를 함수 개체로 사용하여 데이터 집합에 대한 작업을 수행할 수 있습니다. 예시 코드 #include <iostream> #include <algorithm> using namespace std; int square(int x) { return x*x; //return square of x } int main() {
C++에서 구조와 클래스는 기본적으로 동일합니다. 그러나 약간의 차이가 있습니다. 이러한 차이점은 아래와 같습니다. 클래스 멤버는 기본적으로 private이지만 구조체의 멤버는 public입니다. 차이점을 알아보기 위해 이 두 코드를 살펴보겠습니다. 예제 코드 #include <iostream> using namespace std; class my_class { int x = 10; }; int main() { my_class my_ob; cout &
복사 생성자는 이전에 생성된 동일한 클래스의 객체로 초기화하여 객체를 생성하는 생성자입니다. 복사 생성자는 다음 작업에 사용됩니다. - 같은 유형의 다른 개체에서 한 개체를 초기화합니다. 객체를 복사하여 함수에 인수로 전달합니다. 객체를 복사하여 함수에서 반환합니다. 복사 생성자가 클래스에 정의되어 있지 않으면 컴파일러 자체에서 복사 생성자를 정의합니다. 클래스에 포인터 변수가 있고 동적 메모리 할당이 있는 경우 복사 생성자가 있어야 합니다. 복사 생성자의 가장 일반적인 형태는 다음과 같습니다 - classname (const
C++ STL의 set find() 함수는 세트 컨테이너에서 검색된 요소에 대한 반복자를 반환합니다. 반복자는 요소를 찾을 수 없는 경우 집합의 마지막 요소 바로 뒤의 위치를 가리킵니다. 알고리즘 Begin Define function printS() to print elements of set container. initialize an empty set container s. Insert some elements in s set container. Call
C++에서 lower_bound() 함수 설정 STL은 매개변수에 전달된 k와 동일한 컨테이너의 요소를 가리키는 반복자를 반환합니다. k가 세트 컨테이너에 없으면 함수는 k보다 바로 큰 바로 다음 요소를 가리키는 반복자를 반환합니다. 알고리즘 Begin Initialize an empty set container s. Initializing a set container as inetrator. Insert some elements in s set container
집합은 요소의 값이 요소를 식별하기 때문에 각 요소가 고유해야 하는 추상 데이터 유형입니다. 요소의 값은 세트에 추가되면 수정할 수 없지만 해당 요소의 수정된 값을 제거 및 추가하는 것은 가능합니다. Map은 매핑된 방식으로 요소를 저장하는 연관 컨테이너입니다. 각 요소에는 키 값과 매핑된 값이 있습니다. 매핑된 두 값은 동일한 키 값을 가질 수 없습니다. 따라서 위에서 보면 set에는 유일한 키가 포함되고 map에는 키가 있는 값이 포함되며 둘 다 고유하고 정렬된 값을 가져야 합니다. 정렬되지 않은 요소와 정렬되지 않은 요소
Set::begin() 함수는 세트 컨테이너의 첫 번째 요소를 가리키는 반복자를 반환하는 데 사용되는 양방향 반복자입니다. Set::end() 함수는 세트 컨테이너의 마지막 요소를 가리키는 반복자를 반환하는 데 사용되는 양방향 반복자입니다. 예시 코드 #include<iostream> #include <bits/stdc++.h> using namespace std; int main() { set<int> s; set<int>::iterator
C++ STL의 match max_size() 함수는 일치 컨테이너가 보유할 수 있는 match_results 개체의 최대 요소 수를 반환합니다. 이 함수는 매개변수를 허용하지 않습니다. 예시 코드 #include<iostream> #include <bits/stdc++.h> using namespace std; int main() { match_results<float*> m; cout << "max_size: " <
STL 우선 순위 큐는 maxheap의 구현입니다. 구조용 STL 우선순위 큐의 C++ 프로그램입니다. 알고리즘 Begin Define a structure of type student. Initialize variables in student structure. Define another structure of type comparemarks Overload the variables of student structure in comapr
C++ STL의 unordered_multimap rehash(N) 함수는 컨테이너의 버킷 수를 n 이상으로 설정합니다. n이 컨테이너의 현재 버킷 수보다 크면 재해시가 강제 실행됩니다. 새 버킷 수는 n 이상일 수 있습니다. 이 함수는 버킷 수에 영향을 미치지 않을 수 있으며 n이 컨테이너의 현재 버킷 수보다 작은 경우 강제로 다시 해시하지 않을 수 있습니다. Rehash()는 아무 것도 반환하지 않으며 컨테이너 해시 테이블에 대한 최소 버킷 수를 지정하는 매개변수로 n을 취합니다. 알고리즘 Begin De