반응형
C ++에서 "class :"는 무엇을 의미합니까?
전에 본 적이 없습니다. ":: sample"의 오타라고 생각했지만 실제로 컴파일되는 것을 보았을 때 매우 혼란 스러웠습니다. 누구든지 제발 알아낼 수 있습니까? 나는 그것이 goto
레이블 이라고 생각하지 않습니다 .
void f() {
class: sample {
// there were some members declared here
} x;
}
이름이 지정되지 않은 클래스이며 콜론은 sample
. 같이 봐
class Foo : private sample
{
// ...
};
Foo x;
나는 그것이 에서 파생 되는 명명되지 않은 클래스를 정의 하고 있다고 생각합니다 sample
. 그리고 x
이름이 지정되지 않은 클래스의 변수입니다.
struct sample{ int i;};
sample f()
{
struct : sample
{
// there were some members declared here
} x;
x.i = 10;
return x;
}
int main()
{
sample s = f();
cout << s.i << endl;
return 0;
}
ideone의 샘플 코드 : http://www.ideone.com/6Mj8x
PS : 접근성 class
을 struct
위해로 변경 했습니다 !
이름없는 클래스입니다.
예를 들어 C ++ 11 이전의 로컬 함수를 대체하는 데 사용할 수 있습니다.
int main() {
struct {
int operator() (int i) const {
return 42;
}
} nice;
nice(0xbeef);
}
콜론 뒤에 오는 것은 sample
단순히 기본 상속 을 sample
사용하여 파생 된다는 의미 입니다. (구조체 : 공용, 클래스 : 개인용)
참고 URL : https://stackoverflow.com/questions/4712824/what-does-class-mean-in-c
반응형
'Development Tip' 카테고리의 다른 글
clang : 지원되는 대상 아키텍처를 나열하는 방법은 무엇입니까? (0) | 2020.10.12 |
---|---|
자바 스크립트를 사용하여 SVG 그래픽을 만드시나요? (0) | 2020.10.12 |
::는 클로저에서 무엇을 위해 사용됩니까? (0) | 2020.10.12 |
PostgreSQL의 IN 대 ANY 연산자 (0) | 2020.10.12 |
클라이언트-서버 데이터베이스 동기화 (0) | 2020.10.12 |