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

Vector2D 입력 연산자 >>
이 연산자는 벡터 좌표의 형식화된 입력을 수행합니다. 즉, 입력 스트림에서 두 개의 부동 소수점 값을 가져오려고 시도합니다. 만약 입력이 실패하면, 좌표 값은 0.0으로 설정됩니다. 마지막으로, 입력 연산자는 스트림 객체를 반환하여 입력 작업을 연속적으로 수행할 수 있도록 합니다.
이 코드는 무엇을 하나요?
- std::istream& operator>>는 입력 연산자를 정의합니다. 쉽게 말하면, 이 코드는 ">>" 기호를 사용해서 벡터에 값을 넣는 방법을 알려줍니다.
- aIStream은 입력 스트림입니다. 예를 들어, 키보드에서 입력받는 것이라고 생각하면 됩니다.
- aVector는 우리가 값을 저장할 벡터 객체입니다.
- 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