Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C++

    1. C++에서 부동 소수점의 정밀도는 얼마입니까?

      C++에서 부동 소수점 숫자의 크기는 4바이트 또는 8바이트입니다. 따라서 소수점 이하 자릿수까지 저장할 수 있습니다. 예를 들어, 1/3 =0.333333… 무한대까지. 부동 유형 변수 안에 저장하면 일부 유효 숫자가 저장됩니다. 기본값은 6입니다. 따라서 일반적으로 C++의 부동 소수점 숫자는 소수점 이하 6자리까지 표시할 수 있습니다. setprecision을 사용하여 정밀도의 크기를 변경할 수 있습니다. 이것은 iomanip 헤더 파일 내부에 있습니다. 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다. 예시 코드 #inc

    2. 공유 메모리를 통한 IPC

      공유 메모리는 둘 이상의 프로세스 간에 공유되는 메모리입니다. 그러나 왜 우리는 기억이나 다른 의사소통 수단을 공유해야 합니까? 다시 말해서, 각 프로세스에는 고유한 주소 공간이 있습니다. 어떤 프로세스가 자체 주소 공간에서 다른 프로세스로 일부 정보와 통신하려는 경우 IPC(프로세스 간 통신) 기술로만 가능합니다. 우리가 이미 알고 있는 것처럼, 통신은 관련되거나 관련되지 않은 프로세스 사이에 있을 수 있습니다. 일반적으로 상호 관련된 프로세스 통신은 Pipes 또는 Named Pipes를 사용하여 수행됩니다. 관련되지 않은

    3. 메시지 대기열을 사용하는 IPC

      이미 공유 메모리가 있는데 메시지 큐가 필요한 이유는 무엇입니까? 여러 가지 이유가 있을 수 있습니다. 단순화를 위해 이것을 여러 지점으로 나누도록 하겠습니다. − 알다시피, 메시지가 프로세스에 의해 수신되면 더 이상 다른 프로세스에서 사용할 수 없습니다. 반면 공유 메모리에서는 여러 프로세스가 액세스할 수 있는 데이터를 사용할 수 있습니다. 작은 메시지 형식으로 소통하고 싶다면 여러 프로세스가 동시에 통신할 때 공유 메모리 데이터는 동기화로 보호되어야 합니다. 공유 메모리를 사용하여 쓰기 및 읽기 빈도가 높으

    4. std::map과 함께 범위 기반 for() 루프를 사용하는 방법은 무엇입니까?

      여기에서 std::map 유형 객체에 대한 루프 기반 범위를 사용하는 방법을 볼 것입니다. C++에는 지도 유형 객체가 있다는 것을 알고 있습니다. 키 값 쌍을 저장할 수 있습니다. 지도는 기본적으로 쌍 개체를 저장합니다. 이 쌍 개체는 하나의 키와 해당 값을 저장하는 데 사용됩니다. 이러한 키와 값은 템플릿을 사용하여 구현되므로 모든 유형의 데이터를 사용할 수 있습니다. 범위 기반 for 루프를 사용하려면 맵의 각 쌍을 반복할 수 있는 for 루프를 정의할 수 있습니다. 더 나은 아이디어를 얻기 위해 코드를 살펴보겠습니다. 예시

    5. C++에서 프록시 클래스란 무엇입니까?

      여기서 우리는 C++에서 프록시 클래스가 무엇인지 볼 것입니다. Proxy 클래스는 기본적으로 Proxy 디자인 패턴입니다. 이 패턴에서 객체는 다른 클래스에 대해 수정된 인터페이스를 제공합니다. 한 가지 예를 살펴보겠습니다. 이 예제에서는 이진 값 [0, 1]만 저장할 수 있는 배열 클래스를 만들고 싶습니다. 첫 시도입니다. 예시 코드 class BinArray {    int arr[10];    int & operator[](int i) {       //

    6. C++11을 사용하여 타이머를 만드는 방법은 무엇입니까?

      여기서는 C++를 사용하여 타이머를 만드는 방법을 살펴보겠습니다. 여기서 우리는 나중에 호출되는 하나의 클래스를 생성합니다. 이 클래스에는 다음과 같은 속성이 있습니다. int(코드를 실행할 때까지 대기하는 밀리초) bool(true이면 즉시 반환되고 지정된 시간 후에 다른 스레드에서 코드 실행) 가변 인수(정확히 std::bind에 공급하려는) 정밀도를 변경하기 위해 chrono::milliseconds를 nanoseconds 또는 microseconds 등으로 변경할 수 있습니다. 예시 코드 #include <func

    7. 변수의 동적 초기화란 무엇을 의미합니까?

      객체의 동적 초기화는 런타임에 객체를 초기화하는 것을 의미합니다. 즉, 객체의 초기 값은 런타임 중에 제공되어야 합니다. 생성자를 사용하고 매개변수 값을 생성자에 전달하여 동적 초기화를 수행할 수 있습니다. 런타임 동안 클래스 변수를 초기화하려면 이러한 유형의 초기화가 필요합니다. 동적 초기화가 필요한 이유는 무엇입니까? 개체의 동적 초기화는 다음과 같이 필요합니다. 메모리를 효율적으로 활용합니다. 오버로드된 생성자를 사용하여 다양한 초기화 형식을 제공할 수 있습니다. 상황을 고려하여 런타임에 다양한 형식의 데이

    8. C++의 I/O 리디렉션

      C에서는 리디렉션 목적으로 freopen() 함수를 사용할 수 있습니다. 이 함수를 사용하여 기존 FILE 포인터를 다른 스트림으로 리디렉션할 수 있습니다. freopen의 구문은 다음과 같습니다. FILE *freopen(const char* filename, const char* mode, FILE *stream) C++에서도 리디렉션을 수행할 수 있습니다. C++에서는 스트림이 사용됩니다. 여기에서 자체 스트림을 사용하고 시스템 스트림을 리디렉션할 수도 있습니다. C++에는 세 가지 유형의 스트림이 있습니다. istream

    9. C++의 반복자 무효화

      C++에는 vector, list, set, map 등과 같은 다른 컨테이너가 있습니다. 이러한 컨테이너를 반복하기 위해 반복자를 사용할 수 있습니다. C++에서 반복자를 사용할 때 주의해야 합니다. 컨테이너에 대해 반복을 사용할 때 때때로 무효화될 수 있습니다. 모양, 크기가 변경되면 이러한 문제에 직면할 수 있습니다. 다음 예에서 무효화 문제를 식별할 수 있습니다. 예시 코드 #include <iostream> #include <vector> using namespace std; int main() { &n

    10. C++의 복합 디자인 패턴

      복합 패턴은 단일 개체와 유사한 방식으로 개체 그룹을 처리해야 하는 경우에 사용됩니다. 복합 패턴은 전체 계층뿐만 아니라 부분을 나타내는 트리 구조의 관점에서 개체를 구성합니다. 이러한 유형의 디자인 패턴은 이 패턴이 개체 그룹의 트리 구조를 생성하므로 구조적 패턴에 속합니다. 이 패턴은 자체 개체 그룹을 포함하는 클래스를 만듭니다. 이 클래스는 동일한 개체 그룹을 수정하는 방법을 제공합니다. 우리는 조직의 직원 계층을 보여줄 다음 예를 통해 복합 패턴의 사용을 보여주고 있습니다. 여기에서 합성 및 리프 두 클래스가 구성

    11. C++의 출력 반복자

      여기서 우리는 C++의 출력 반복자가 무엇인지 볼 것입니다. 출력 반복자에는 일부 속성이 있습니다. 다음과 같습니다. 출력 반복자는 컨테이너의 값을 수정하는 데 사용됩니다. 이러한 종류의 반복자를 사용하여 컨테이너에서 데이터를 읽을 수 없습니다. 단방향 및 쓰기 전용 반복기입니다. 증가할 수 있지만 감소할 수는 없습니다. 출력 반복기에는 두 가지 하위 부분이 있습니다. 삽입 반복자와 ostreamiterator입니다. 삽입 반복기 삽입 반복기는 컨테이너 내부에 일부 요소를 삽입하는 데 사용됩니다. 이 반복기 유형의 할당 연산자

    12. C++의 양방향 반복자

      여기서 우리는 C++에서 양방향 반복자의 개념을 볼 것입니다. 양방향 반복기는 순방향 반복기의 모든 기능과 접두사 및 접미사 감소 연산자를 지원합니다. 이 유형의 반복기는 끝과 시작과 같이 양방향으로 요소에 액세스할 수 있습니다. 임의 액세스 반복자는 양방향 반복자의 일종이기도 합니다. 양방향 반복자에는 순방향 반복자의 기능이 있지만 차이점은 이 반복자도 감소될 수 있다는 것입니다. 양방향 반복자에는 몇 가지 속성이 있습니다. 아래와 같습니다. 속성 표현식 양방향 반복자는 기본적으로 구성 가능하고 복사 할당 가능하며 소멸

    13. DAG에 대한 무작위 선형 확장을 만드는 C++ 프로그램

      여기서 우리는 방향성 비순환 그래프(DAG)의 랜덤 선형 확장을 생성하는 방법을 볼 것입니다. 선형 확장은 기본적으로 DAG의 토폴로지 정렬입니다. 그래프가 아래와 같다고 생각합시다 - 방향성 비순환 그래프의 위상 정렬은 정점의 선형 순서입니다. 방향 그래프의 모든 모서리 u-v에 대해 정점 u는 순서에서 정점 v보다 먼저 옵니다. 소스 정점이 대상 정점 다음에 올 것이라는 것을 알고 있으므로 스택을 사용하여 이전 요소를 저장해야 합니다. 모든 노드를 완료한 후 스택에서 간단히 표시할 수 있습니다. 입력 0 0 0 0 0 0

    14. Johnson 알고리즘을 구현하는 C++ 프로그램

      여기서 우리는 두 정점 사이의 최단 경로를 찾는 Johnson 알고리즘을 볼 것입니다. 그래프가 여기에 나와 있습니다. 모서리 사이의 최단 경로는 다음과 같습니다. 이 프로그램은 꼭짓점 수, 모서리 수 및 비용과 함께 모서리를 사용합니다. 입력 − 정점:3 가장자리:5 비용 절감 - 1 2 8 2 1 12 1 3 22 3 1 6 2 3 4 출력 − 그래프의 거리 행렬입니다. 0 8 12 10 0 4 6 14 0 알고리즘 johnson 알고리즘(비용) 입력 − 주어진 그래프의 비용 매트릭스. 출

    15. C++ 콘솔 응용 프로그램이 즉시 종료되지 않도록 하는 방법은 무엇입니까?

      때때로 우리는 결과를 표시한 직후 콘솔이 닫히는 것을 발견했습니다. 따라서 결과를 제대로 볼 수 없습니다. 여기에서 콘솔이 닫히지 않도록 하는 방법을 살펴보겠습니다. 아이디어는 매우 간단합니다. 마지막에 getchar() 함수를 사용할 수 있습니다. 이것은 한 문자를 기다립니다. 한 문자를 누르면 콘솔이 종료됩니다. 예시 #include <iostream> using namespace std; int main() {    cout << "Hello World" <<

    16. 슈퍼클래스 생성자 C++를 호출하는 규칙은 무엇입니까?

      C++에서는 일부 클래스를 파생시킬 수 있습니다. 파생 클래스의 생성자를 호출할 때 상위 클래스(기본 클래스) 생성자를 호출해야 하는 경우가 있습니다. Java와 달리 수퍼 클래스에 대한 참조 변수가 없습니다. 생성자가 매개변수화되지 않은 경우 파생 클래스와 함께 자동으로 호출됩니다. 그렇지 않으면 파생 클래스의 이니셜라이저 목록에 상위 클래스 생성자를 넣어야 합니다. 이 예에서 처음에는 인수가 없는 생성자를 볼 수 있습니다. 예시 #include <iostream> using namespace std; class My

    17. C++에서 iostream과 iostream.h의 차이점은 무엇입니까?

      여기에서 우리는 C++에서 iostream과 iostream.h의 차이점을 볼 것입니다. iostream.h는 1990년대 초 I/O 스트림 라이브러리에서 사용된 헤더 파일입니다. 이것은 초기 C++에서 사용하기 위해 AT&T에서 개발되었습니다. 그 당시 C++는 표준화되지 않았습니다. C++ 표준 라이브러리에서 사용하는 iostream 헤더 파일. 이것은 표준 I/O 스트림에 대한 액세스를 제공하기 위해 1998년에 처음 발행되었습니다. iostream.h를 언급한 C++ 표준은 없었지만 주석이 있는 C++ 참조 설명서와 같은

    18. C++ 및 Java의 예외 처리 비교

      예외 처리 기능은 오늘날 거의 모든 객체 지향 언어에 있습니다. C++ 및 Java에서도 이러한 종류의 기능을 얻을 수 있습니다. C++의 예외 처리와 Java의 예외 처리 사이에는 몇 가지 유사점이 있습니다. 두 언어 모두 try-catch 블록을 사용해야 하는 것과 같습니다. 약간의 어려움도 있지만. 다음과 같습니다 - C++에서는 모든 유형의 데이터를 예외로 throw할 수 있습니다. 모든 유형의 데이터는 원시 데이터 유형과 포인터도 의미합니다. Java에서는 던질 수 있는 객체만 던질 수 있습니다. 던질 수 있는 클래스의

    19. C++ 및 Java의 Foreach

      C++ 및 Java에는 foreach 루프라는 또 다른 유형의 루프가 있습니다. 이것은 C에는 없습니다. 이 루프는 C++11 및 Java JDK 1.5.0에 도입되었습니다. 이 루프의 장점은 초기화, 테스트 및 증가/감소를 수행하지 않고 요소에 매우 빠르게 액세스할 수 있다는 것입니다. 이 루프는 하나의 배열 또는 일부 컨테이너의 모든 요소에 액세스하는 데 사용됩니다. 이 루프는 foreach로 알려져 있지만 이 루프를 나타내려면 for 키워드를 사용해야 합니다. 구문이 일반적인 for 및 foreach와 다릅니다. for(dat

    20. 범위 확인 연산자 대 C++의 이 포인터?

      여기에서 몇 가지 C++ 예제를 보고 어떤 유형의 출력이 생성되는지 알아보겠습니다. 그러면 C++에서 범위 확인 연산자와 this 포인터의 목적과 기능을 이해할 수 있습니다. 일부 코드에 x라는 멤버가 있고 동일한 이름 x를 가진 인수를 사용하는 다른 함수를 사용하려는 경우 해당 함수에서 x를 사용하면 멤버 변수가 숨겨지고 지역 변수가 사용됩니다. 하나의 코드로 확인해보자. 예시 #include <iostream> using namespace std; class MyClass {    private:

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:62/300  20-컴퓨터/Page Goto:1 56 57 58 59 60 61 62 63 64 65 66 67 68