ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Lecture3 Vector2D 입력 연산자 >>
    DSP/Lecture 2024. 5. 23. 12:25

    Vector2D 입력 연산자 >>

    이 연산자는 벡터 좌표의 형식화된 입력을 수행합니다. 즉, 입력 스트림에서 두 개의 부동 소수점 값을 가져오려고 시도합니다. 만약 입력이 실패하면, 좌표 값은 0.0으로 설정됩니다. 마지막으로, 입력 연산자는 스트림 객체를 반환하여 입력 작업을 연속적으로 수행할 수 있도록 합니다.

     

    이 코드는 무엇을 하나요?

    1. std::istream& operator>>는 입력 연산자를 정의합니다. 쉽게 말하면, 이 코드는 ">>" 기호를 사용해서 벡터에 값을 넣는 방법을 알려줍니다.
    2. aIStream은 입력 스트림입니다. 예를 들어, 키보드에서 입력받는 것이라고 생각하면 됩니다.
    3. aVector는 우리가 값을 저장할 벡터 객체입니다.
    4. aIStream >> aVector.fX >> aVector.fY는 두 개의 숫자를 차례로 읽어서 aVector의 fX와 fY에 저장합니다.

    요약

    • 목적: 두 개의 부동 소수점 값을 입력 스트림에서 읽어와 Vector2D 객체에 저장. 
    • 실패 시 처리: 입력 실패 시 좌표 값을 0.0으로 설정.
    • 반환 값: 입력 스트림 객체를 반환하여 연속적인 입력 작업이 가능하도록 함.

    이러한 연산자는 C++에서 사용자 정의 타입에 대해 표준 입력 스트림(cin)을 통해 데이터를 읽어오는 기능을 제공합니다. 이는 Vector2D 객체를 쉽게 초기화하거나 값을 설정할 수 있게 해줍니다.

     

    자바의 Scanner

    자바에서 Scanner는 키보드나 파일 등에서 입력을 읽어오는 데 사용됩니다. 예를 들어, 키보드에서 숫자를 입력받고 변수에 저장하는 코드는 다음과 같습니다:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter a number: ");
            int number = scanner.nextInt();
            System.out.println("You entered: " + number);
        }
    }

    C++의 std::istream

    C++에서 std::istream은 키보드나 파일 등에서 입력을 읽어오는 데 사용됩니다. 예를 들어, 키보드에서 숫자를 입력받고 변수에 저장하는 코드는 다음과 같습니다:

    #include <iostream>
    
    int main() {
        int number;
        std::cout << "Enter a number: ";
        std::cin >> number;
        std::cout << "You entered: " << number << std::endl;
        return 0;
    }

    벡터 예제와 비교

    자바에서 두 개의 숫자를 입력받아 벡터처럼 사용할 변수를 설정하는 예제는 다음과 같습니다:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter x: ");
            int x = scanner.nextInt();
            System.out.print("Enter y: ");
            int y = scanner.nextInt();
            System.out.println("Vector: (" + x + ", " + y + ")");
        }
    }

     

    C++에서 두 개의 숫자를 입력받아 벡터로 사용할 변수를 설정하는 예제는 다음과 같습니다:

    #include <iostream>
    
    struct Vector2D {
        float x;
        float y;
    };
    
    std::istream& operator>>(std::istream& input, Vector2D& vec) {
        input >> vec.x >> vec.y;
        return input;
    }
    
    int main() {
        Vector2D vec;
        std::cout << "Enter x and y: ";
        std::cin >> vec;
        std::cout << "Vector: (" << vec.x << ", " << vec.y << ")" << std::endl;
        return 0;
    }

    'DSP > Lecture' 카테고리의 다른 글

    Lecture3 FRIENDS  (0) 2024.05.23
    Lecture3 Vector Input Operator <<  (0) 2024.05.23
    Lecture 2 - 정적 캐스트(static_cast)  (0) 2024.04.25
    Lecture 2 - Operator, Overloading and Vector  (1) 2024.04.25
    Lecture 2 - Header file, Constructor  (0) 2024.04.25
Designed by Tistory.