C 11: 속성 C#과 마찬가지로?
C# 구문을 사용하면 간결한 필드 getter 및 setter를 사용할 수 있습니다. C 11에서는 명명된 클래스와 람다를 도입하여 유사한 솔루션을 제공합니다.
C 11에서 C# 속성 구현
C 11에서 C# 속성을 에뮬레이트하려면 명명되지 않은 클래스를 사용할 수 있습니다. 및 회원 액세스 기능. 다음 구현을 고려하십시오.
struct Foo {
struct {
int value;
auto &operator=(const int &i) -> decltype(auto) { return value = i; }
auto operator()() const -> decltype(auto) { return value; }
} alpha;
struct {
float value;
auto &operator=(const float &f) -> decltype(auto) { return value = f; }
auto operator()() const -> decltype(auto) { return value; }
} bravo;
};
사용 예
Foo foo;
foo.alpha = 10;
cout 이 접근 방식은 자동 생성된 이름으로 속성을 가져오고 설정하기 위한 C#과 유사한 구문을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3