Baillie-PSW Primality Test는 Robert Baillie, Carl Pomerance, John Selfridge 및 Samuel Wagstaff의 이름을 따서 명명된 테스트입니다. 숫자가 합성수인지 소수인지 테스트하는 테스트입니다. 알고리즘 밀러 테스트() Begin Declare a function MillerTest of Boolean type. Declare MT_dt and MT_num of integer datatype and pass as the para
여기에서 C++에서 private static 멤버 변수 초기화를 초기화하는 방법을 볼 것입니다. C++ 클래스에 정적 멤버(함수 또는 변수)를 넣을 수 있습니다. 정적 변수의 경우 클래스를 정의한 후 초기화해야 합니다. 초기화하려면 클래스 이름, 범위 확인 연산자(::), 변수 이름을 차례로 사용해야 합니다. 이제 값을 할당할 수 있습니다. 다음 코드는 정적 멤버 초기화 기법을 설명합니다. 예시 #include <iostream> using namespace std; class MyClass{  
때때로 우리는 함수 선언의 마지막에 존재하는 키워드 const를 찾을 수 있습니다. 그래서 그것은 무엇을 의미합니까? 이 하나의 함수를 사용하여 상수로 만들 수 있습니다. 상수 함수의 개념은 함수가 호출되는 객체에서 함수를 수정할 수 없다는 것입니다. 우리 프로그램에서 상수 함수를 사용하는 것이 좋습니다. 상수 함수의 한 가지 예를 살펴보겠습니다. 예시 #include<iostream> using namespace std; class MyClass { int value;
C++에는 char라는 문자 유형 데이터가 있습니다. 때때로 우리는 unsigned char도 보았습니다. 그래서 여기서 우리는 기본적으로 unsigned char이 무엇을 의미하는지 볼 것입니다. 부호 있는 문자와 부호 없는 문자의 기본적인 차이점은 무엇입니까? 부호 있는 문자와 부호 없는 문자는 모두 단일 문자를 저장하는 데 사용됩니다. 변수는 문자의 ASCII 값을 저장합니다. 예를 들어 A가 저장되어 있으면 실제로 65를 보유합니다. signed char의 경우 signed를 쓸 필요가 없습니다. 예어. 그러나 unsign
static_cast: 일반/일반 유형 변환에 사용됩니다. 이것은 또한 암시적 형식 강제 변환을 담당하는 캐스트이며 명시적으로 호출할 수도 있습니다. float를 int로, char를 int로 변환하는 등의 경우에 사용해야 합니다. 이렇게 하면 관련 유형 클래스를 캐스팅할 수 있습니다. 유형이 동일하지 않으면 약간의 오류가 발생합니다. 예 #include<iostream> using namespace std; class Base {}; class Derived : public Base {}; class MyClass {}
여기에서는 루프나 조건문 없이 1에서 1000까지를 인쇄하는 방법을 볼 것입니다. 루프를 사용할 수 없으므로 재귀를 시도할 수 있지만 여기에는 조건도 사용할 수 없다는 또 다른 제약이 있습니다. 따라서 재귀의 기본 사례는 사용되지 않습니다. 여기서는 정적 멤버를 사용하여 이 문제를 해결합니다. 처음에는 정적 멤버를 1로 초기화한 다음 생성자에서 값을 인쇄하고 값을 늘립니다. 이제 해당 클래스의 1000개 개체로 구성된 배열을 만들어 1000개의 서로 다른 개체가 만들어지므로 생성자가 1000번 호출됩니다. 따라서 1에서 1000까
여기서 우리는 C++에서 __FILE, __LINE__ 및 __FUNCTION__이 무엇인지 볼 것입니다. __FILE__ 이 매크로는 현재 파일의 경로를 가져오는 데 사용됩니다. 이것은 로그 파일을 생성할 때 유용합니다. 다음 코드는 기능을 설명합니다. 예시 #include<iostream> using namespace std; int errorLog (const char* file, const std::string& msg){ cerr << "[" <&
이 섹션에서는 C++ 클래스에서 변환 생성자 또는 변환 생성자가 무엇인지 볼 것입니다. 생성자는 클래스의 특수한 유형의 함수입니다. 고유한 속성이 있습니다. 이름은 클래스 이름과 같으며 값을 반환하지 않습니다. 생성자는 클래스의 개체를 구성하는 데 사용됩니다. 때로는 생성자가 일부 인수를 취하거나 때로는 인수를 취하지 않을 수 있습니다. 생성자가 하나의 인수만 취하면 이 유형의 생성자가 변환 생성자가 됩니다. 이 유형의 생성자를 사용하면 생성 중인 클래스로 자동 변환할 수 있습니다. 예시 #include<iostream>
여기에서 우리는 C 또는 C++에서 재진입 함수가 무엇인지 볼 것입니다. 한 기능은 실행 과정에서 해당 기능을 중단하고 ISR(Interrupt Service Routine)을 처리한 다음 작업을 재개하는 규정이 있는 경우 재진입 기능이라고 합니다. 이러한 유형의 함수는 재귀, 하드웨어 인터럽트 처리와 같은 다양한 경우에 사용됩니다. 재진입 기능의 경우 몇 가지 속성이 있어야 합니다. 아래에 나열되어 있습니다 - 이 유형의 함수는 전역 또는 정적 변수를 사용하지 않습니다. 제한은 없지만 일반적으로 권장되지 않습니다. 인터럽트
여기에서 우리는 C++에서 __FUNCTION__, __func__ 및 __PRETTY_FUNCTION__의 차이점을 볼 것입니다. 기본적으로 __FUNCTION__과 __func__는 동일합니다. 일부 이전 버전의 C 및 C++는 __func__를 지원합니다. 이 매크로는 현재 함수의 이름을 가져오는 데 사용됩니다. _PRETTY_FUNCTION__은 함수에 대한 세부 정보를 반환하는 데 사용됩니다. 이것을 사용하여 어떤 함수가 사용되는지, 어떤 클래스에 속하는지 등을 알 수 있습니다. 예시 #include<iostream
여기서 우리는 C++에서 volatile 한정자의 의미를 볼 것입니다. volatile 한정자는 변수를 선언할 때 변수에 적용됩니다. 컴파일러에게 값이 언제든지 변경될 수 있음을 알리는 데 사용됩니다. 다음은 volatile의 일부 속성입니다. 휘발성 키워드는 메모리 할당을 제거할 수 없습니다. 레지스터의 변수를 캐시할 수 없습니다. 할당 순서대로 값을 변경할 수 없습니다. volatile 키워드를 사용하는 방법을 살펴보겠습니다. volatile int a; int volatile a; 여기서 이 두 선언은 정확합니다. 다른
싱글톤 디자인 패턴은 클래스의 인스턴스화를 하나의 개체로 제한하는 데 사용되는 소프트웨어 디자인 원칙입니다. 이는 시스템 전체에서 작업을 조정하는 데 정확히 하나의 개체가 필요한 경우에 유용합니다. 예를 들어 파일에 로그를 쓰는 로거를 사용하는 경우 싱글톤 클래스를 사용하여 이러한 로거를 만들 수 있습니다. 다음 코드를 사용하여 싱글톤 클래스를 생성할 수 있습니다. 예시 #include <iostream> using namespace std; class Singleton { static Single
여기에서 C 또는 C++에서 int와 const_int&의 차이점이 무엇인지 알아보겠습니다. int는 기본적으로 정수형 데이터의 유형입니다. 그리고 const는 무언가를 일정하게 만드는 데 사용됩니다. int&상수가 있으면 이것이 일부 int 유형 데이터의 참조를 보유함을 나타냅니다. 이 참조 값은 그 자체로 상수입니다. 따라서 const는 중복됩니다. 컴파일러가 경고 또는 일부 오류를 반환할 수 있습니다. const int&는 int const&와 동일합니다. 따라서 이것은 상수 정수를 나타냅니다. 정수는 참조를 통해 수정할
cin.ignore() 함수는 입력 버퍼에서 하나 이상의 문자를 무시하거나 지우는 데 사용됩니다. ignore()에 대한 아이디어를 얻으려면 한 가지 문제를 확인해야 하며 그 솔루션은 ignore() 함수를 사용하여 찾을 수 있습니다. 문제는 아래와 같습니다. 때로는 원치 않는 버퍼를 지워야 하므로 다음 입력이 수신되면 원하는 컨테이너에 저장하지만 이전 변수의 버퍼에는 저장하지 않습니다. 예를 들어, cin 문을 입력한 후 문자 배열이나 문자열을 입력해야 합니다. 따라서 입력 버퍼를 지워야 합니다. 그렇지 않으면 이전 변수의 버
여기에서 우리는 C 변수의 범위를 볼 것입니다. 변수는 항상 C에서 정적으로 범위가 지정됩니다. 변수 바인딩은 프로그램 텍스트에서 결정할 수 있습니다. 이들은 런타임 함수 호출 스택과 무관합니다. 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다. 예시 # include <stdio.h> int x = 0; int my_function() { return x; } int my_function2() { int x = 1; return my_functio
여기에서 우리는 C에서 전역 변수의 재선언이 무엇인지 볼 것입니다. C가 이것을 지원하는지 아닌지. 다음 코드를 보고 이에 대한 아이디어를 얻으십시오. 예시 #include <stdio.h> int main(){ int a; int a = 50; printf("a is : %d\n", a); } 출력 [Error] redeclaration of 'a' with no linkage 따라서 지역 변수를 다시 선언할 수 없음
여기서 우리는 C++에서 volatile 한정자의 의미가 무엇인지 볼 것입니다. volatile 한정자는 변수를 선언할 때 변수에 적용됩니다. 컴파일러에게 값이 언제든지 변경될 수 있음을 알리는 데 사용됩니다. 다음은 volatile의 일부 속성입니다. 휘발성 키워드는 메모리 할당을 제거할 수 없습니다. 레지스터의 변수를 캐시할 수 없습니다. 할당 순서대로 값을 변경할 수 없습니다. volatile 키워드를 사용하는 방법을 살펴보겠습니다. volatile int a; int volatile a; 여기서 이 두 선언은 정확합니
여기서 우리는 전처리기가 C 또는 C++에서 어떻게 작동하는지 볼 것입니다. 전처리기가 무엇인지 살펴보겠습니다. 전처리기는 실제 컴파일이 시작되기 전에 정보를 전처리하도록 컴파일러에 지시하는 지시문입니다. 모든 전처리기 지시문은 #으로 시작하고 공백 문자만 행에서 전처리기 지시문 앞에 나타날 수 있습니다. 전처리기 지시문은 C++ 문이 아니므로 세미콜론(;)으로 끝나지 않습니다. 이미 #include를 보았습니다. 모든 예에서 지시문. 이 매크로는 헤더 파일을 소스 파일에 포함하는 데 사용됩니다. #include, #defi
여기서 우리는 C 또는 C++에서 while(1)과 while(0)의 차이점이 무엇인지 알아볼 것입니다. while은 C 또는 C++의 루프입니다. 이 루프를 사용하여 하나의 조건을 확인할 수 있으며 조건이 true인 동안 루프 내의 명령문이 실행됩니다. while(1) 또는 while(0이 아닌 값)은 무한 루프에 사용됩니다. 당분간은 조건이 없습니다. 1 또는 0이 아닌 값이 있으면 조건은 항상 참입니다. 그래서 영원히 실행될 루프 내부에 존재하는 것. 이 무한 루프에서 벗어나려면 조건문과 break 문을 사용해야 합니다. 예
여기서 우리는 __func__ C가 무엇인지 볼 것입니다. 기본적으로 __func__ 또는 __FUNCTION__(일부 이전 버전의 C 및 C++에서는 __func__를 지원함). 이 매크로는 현재 함수의 이름을 가져오는 데 사용됩니다. 예시 #include<stdio.h> void TestFunction(){ printf("Output of __func__ is: %s\n", __func__ ); } main() { printf("Output o