20
A
답변
26
예, 있습니다 :
struct foo
{
void bar(void);
};
typedef void (foo::*func_ptr)(void);
func_ptr fptr = &foo::bar;
foo f;
(f.*fptr)(); // call
또한 관련이 ->*
연산자입니다. 포인터 투 멤버 형식과 함께 사용하기위한 포인터 투 멤버 연산자입니다.
예. 여기
struct A
{
int a;
int b;
};
int main()
{
A obj;
int A::* ptr_to_memb = &A::b;
obj.*ptr_to_memb = 5;
ptr_to_memb = &A::a;
obj.*ptr_to_memb = 7;
// Both members of obj are now assigned
}
, A
는 구조체이며 ptr_to_memb
는 A
int
의 부재에 대한 포인터이다. .*
은 A
인스턴스를 구성원에 대한 포인터와 결합하여 주어진 A
인스턴스 obj
의 해당 구성원을 참조하는 왼쪽 값 표현식을 형성합니다.
멤버에 대한 포인터는 데이터 멤버 또는 함수 멤버에 대한 포인터 일 수 있으며 가상 함수 멤버에 대해서도 올바른 작업을 수행합니다.
예. 이 프로그램 출력 f(d) = 1
struct Base
{
virtual int DoSomething()
{
return 0;
}
};
int f(Base& b)
{
int (Base::*f)() = &Base::DoSomething;
return (b.*f)();
}
struct Derived : Base
{
virtual int DoSomething()
{
return 1;
}
};
#include <iostream>
#include <ostream>
int main()
{
Derived d;
std::cout << "f(d) = " << f(d) << '\n';
return 0;
}
12
관련 문제
- 1. C의 물결표 연산자
- 2. C의 <= 연산자 ++
- 3. obj-c의 헤더에있는 변수 선언의 별표
- 4. Haskell의 Foreign.C C의 앰퍼샌드 연산자 (&)와 동일합니다.
- 5. 기능 - 별표
- 6. 별표 TDM410
- 7. 별표 알고리즘
- 8. 잘못된 별표 표시 jquery 별점 등급 위젯과 별표
- 9. 별표 유형의 변수
- 10. register statement - 별표 실시간
- 11. NA를 별표 (*)로 바꾸기
- 12. 별표 (Asterisk) 프로그래밍 팁?
- 13. 별표 관리자 API 이벤트
- 14. 별표 : 응용 프로그램 추가
- 15. 사용자 정의 별표 승인
- 16. CSS에서 별표 사용은 무엇입니까?
- 17. Adobe stratus VS 별표
- 18. 별표 서버에서 발행
- 19. WPF ColumnDefinition에서 * (별표) 의미?
- 20. 별표 (영문) 파이썬에서
- 21. URL에 별표 허용
- 22. [대괄호]의 차이와 * 별표
- 23. 루비와 별표 PBX
- 24. 알몸 별표 (*) : 데프 F (*)
- 25. 회의에서 재생 (별표)
- 26. jquery의 연산자 : not 연산자
- 27. 연산자 ==
- 28. C++ 연산자 + 및 연산자 + = 오버로드
- 29. 별표 일치 가능성이있는 우선 순위
- 30. SIP, 별표, adhearson 및 VoIP
표시되는 코드를 붙여 넣을 수 있습니까? –