«struct» 태그된 질문

구문이 C와 유사하거나 파생 된 다양한 프로그래밍 언어의 키워드 (C ++, C #, Swift, Go, Rust 등). 구문과 의미론은 언어에 따라 달라질 수 있으므로 'struct'를 사용하는 질문에 태그를 지정하려면 특정 프로그래밍 언어 태그를 사용하십시오. 키워드는 다른 데이터 형식으로 구성된 데이터 형식을 정의하거나 선언합니다. 구조체의 각 멤버에는 자체 메모리 영역이 있습니다 (멤버가 단일 메모리 영역을 공유하는 '연합'과 반대).


8
C ++에서 구조체를 비교하는 동안 == 연산자가 없습니다.
다음 구조체의 두 인스턴스를 비교하면 오류가 발생합니다. struct MyStruct1 { MyStruct1(const MyStruct2 &_my_struct_2, const int _an_int = -1) : my_struct_2(_my_struct_2), an_int(_an_int) {} std::string toString() const; MyStruct2 my_struct_2; int an_int; }; 오류는 다음과 같습니다. 오류 C2678 : 바이너리 '==': 'myproj :: MyStruct1'유형의 왼쪽 피연산자를 사용하는 연산자를 찾을 수 없습니다 (또는 허용되는 …

9
구조체가 인터페이스를 구현하는 것이 안전합니까?
구조체가 C #을 통해 CLR에서 인터페이스를 구현하는 것이 얼마나 나쁜지에 대해 읽은 것을 기억하는 것 같지만 그것에 대해 아무것도 찾을 수없는 것 같습니다. 나쁜가요? 그렇게하면 의도하지 않은 결과가 있습니까? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } …
95 c#  interface  struct 

10
구조체 대 클래스
코드에서 100,000 개의 개체를 만들려고합니다. 2 개 또는 3 개의 속성 만있는 작은 것입니다. 나는 그것들을 일반 목록에 넣고 그것들이있을 때 그것들을 반복하고 value를 확인 a하고 아마도 value를 업데이트 할 것이다 b. 이러한 객체를 클래스 또는 구조체로 만드는 것이 더 빠르거나 더 낫습니까? 편집하다 ㅏ. 속성은 값 유형입니다 (내가 생각하는 …
93 c#  struct 

2
C ++ 구조체 용 함수
일반적으로 다음과 같이 C ++ 구조체에 대한 변수를 정의 할 수 있습니다. struct foo { int bar; }; 구조체에 대한 함수도 정의 할 수 있습니까? 이러한 기능을 어떻게 사용합니까?
93 c++  function  struct 

6
C ++에서 익명 구조체를 허용하지 않는 이유는 무엇입니까?
일부 C ++ 컴파일러는 표준 C ++에 대한 확장으로 익명 공용체 및 구조체를 허용합니다. 때때로 매우 도움이되는 약간의 통 사적 설탕입니다. 이것이 표준의 일부가되는 것을 막는 근거는 무엇입니까? 기술적 인 장애물이 있습니까? 철학적입니까? 아니면 정당화 할 필요가 충분하지 않습니까? 다음은 제가 말하는 내용의 샘플입니다. struct vector3 { union { struct …
92 c++  struct  unions 

9
구조체를 0 / null로 초기화 / 재설정
struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; 이 구조체를 채우고 값을 사용하고 있습니다. 다음 반복에서 모든 필드를 다시 사용 0하거나 null다시 사용하기 전에 재설정하려고 합니다. 어떻게 할 수 있습니까? 내가 사용 memset하거나 모든 멤버를 거쳐 개별적으로해야합니까?

6
사용하지 않는 멤버 변수가 메모리를 차지합니까?
멤버 변수를 초기화하고 참조 / 사용하지 않으면 런타임 중에 RAM을 더 많이 차지합니까, 아니면 컴파일러가 단순히 해당 변수를 무시합니까? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; 위의 예에서 멤버 'var1'은 콘솔에 표시되는 값을 가져옵니다. 그러나 'Var2'는 전혀 사용되지 않습니다. 따라서 …
92 c++  memory  struct 

5
왜이 구조체 크기가 2가 아닌 3입니까?
이 구조체를 정의했습니다. typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; 은 sizeof(col)나에게 (3)의 출력을 제공하지만 2이어야한다? 하나의 요소 만 언급하면 sizeof2가됩니다. 이유를 이해할 수 없습니다. 3 비트의 5 개 요소가 15 비트와 같고 2 바이트 미만입니다. 이와 같은 구조를 정의 할 때 …
91 c++  c  struct 

11
NSArray에 c-struct를 넣는 가장 좋은 방법은 무엇입니까?
c 구조를 저장하는 일반적인 방법은 무엇입니까 NSArray? 장점, 단점, 메모리 처리? 특히, 차이 무엇 valueWithBytes과 valueWithPointer - 저스틴 아래 메기에 의해 제기. 다음valueWithBytes:objCType: 은 향후 독자 를 위한 Apple의 토론 링크입니다 . 측면 적 사고와 성능에 대한 더 많은 것을보기 위해 Evgen은 C ++STL::vector 에서 사용하는 문제를 제기했습니다 . (흥미로운 …


6
두 값 반환, Tuple vs 'out'vs 'struct'
두 개의 값을 반환하는 함수를 고려하십시오. 우리는 쓸 수있다: // Using out: string MyFunction(string input, out int count) // Using Tuple class: Tuple<string, int> MyFunction(string input) // Using struct: MyStruct MyFunction(string input) 어떤 것이 모범 사례이며 그 이유는 무엇입니까?
88 c#  struct  tuples  out  value-type 

5
왜 C와 C ++는 구조체 내에서 멤버 별 배열 할당을 지원하지만 일반적으로 지원하지 않습니까?
멤버 별 배열 할당이 지원되지 않으므로 다음이 작동하지 않음을 이해합니다. int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" 나는 이것을 사실로 받아 들였고, 언어의 목적은 개방형 프레임 워크를 제공하는 것이고 사용자가 배열 복사와 같은 것을 구현하는 방법을 결정하게하는 것이라고 생각했습니다. 그러나 다음은 작동합니다. struct …

3
C의 구조 메모리 레이아웃
C # 배경이 있습니다. 저는 C와 같은 저수준 언어의 초보자입니다. C #에서 struct의 메모리는 기본적으로 컴파일러에 의해 배치됩니다. 컴파일러는 데이터 필드를 재정렬하거나 암시 적으로 필드 사이에 추가 비트를 채울 수 있습니다. 따라서 정확한 레이아웃을 위해이 동작을 재정의하기 위해 몇 가지 특수 속성을 지정해야했습니다. AFAIK, C는 struct기본적 으로 a의 메모리 레이아웃을 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.