일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터분석
- 네트워크
- 데이터베이스
- 사이버보안
- 빅데이터
- 데이터과학
- 딥러닝
- 자바스크립트
- 파이썬
- 알고리즘
- 웹개발
- 네트워크보안
- 2
- 컴퓨터비전
- I'm Sorry
- 보안
- 버전관리
- 데이터구조
- 머신러닝
- 코딩
- 소프트웨어
- 인공지능
- 클라우드컴퓨팅
- 컴퓨터공학
- 소프트웨어공학
- 자료구조
- Yes
- 프로그래밍
- 컴퓨터과학
- 프로그래밍언어
- Today
- Total
스택큐힙리스트
C++에서 "-->" 연산자란 무엇인가요? 본문
"Hidden Features and Dark Corners of C++/STL"을 읽은 후에 "comp.lang.c++.moderated"에서 다음 스니펫이 Visual Studio 2008과 G ++ 4.4에서 모두 컴파일되고 작동하는 것에 완전히 놀랐습니다.
여기 코드입니다.
"#include
int main() { int x = 10; while (x --> 0) // x goes to 0 { printf("%d ", x); } } "
번역하십시오.
"9 8 7 6 5 4 3 2 1 0 "
이것은 GCC에서도 작동하므로 C로 추정됩니다. 이것이 표준에서 정의된 곳이 어디이며 어디에서 왔는지 알 수 있을까요?
"-->"은 연산자가 아닙니다. 사실 두 개의 별개의 연산자 "--"와 ">" 입니다.
조건부 코드는 "x" 를 감소시키고, 동시에 "x" 의 원래 값 (감소되지 않은)을 반환하며, 그 후 ">" 연산자를 사용하여 원래 값과 "0" 를 비교합니다.
더 잘 이해하기 위해서, 아래와 같이 명제를 작성할 수 있습니다:
"while( (x--) > 0 ) "
"-->" 연산자란 C++에서 사용되는 연산자 중 하나로, 포인터(pointer)를 사용할 때 사용됩니다. 포인터란 메모리 주소를 저장하는 변수이며, 주소에 저장된 값에 접근하기 위해서는 포인터를 사용해야 합니다. "-->" 연산자는 포인터를 사용할 때 이러한 값에 접근하기 위해서 사용됩니다. 포인터 변수 뒤에 "-->" 연산자를 사용하면, 그 포인터가 가리키는 객체의 멤버 변수나 멤버 함수를 호출할 수 있습니다. 예를 들어, 다음과 같은 코드가 있다고 가정해 봅시다. ``` class MyClass { public: int myInt; void myFunc() { std::cout << "hello, world!" << std::endl; } }; int main() { myclass* myclassptr="new" myclass(); myclassptr->myInt = 123; myClassPtr->myFunc(); delete myClassPtr; return 0; } ``` 위 코드에서는 MyClass 클래스를 정의하고 main 함수에서 포인터를 생성해 MyClass의 멤버 변수와 멤버 함수에 접근합니다. 포인터 변수 myClassPtr에 "-->" 연산자를 사용하여 myInt와 myFunc 함수에 접근합니다. "-->" 연산자는 포인터를 사용할 때 매우 유용합니다. 포인터 변수를 사용하면 메모리 주소를 저장할 수 있으며, "-->" 연산자를 사용해서 해당 객체의 멤버 변수나 멤버 함수에 접근할 수 있습니다. 따라서 C++ 프로그래머라면 포인터와 "-->" 연산자를 잘 이해하고 사용할 수 있어야 합니다.</<>