Запитання з тегом «struct»

Ключове слово в різних мовах програмування, синтаксис якого подібний або похідний від C (C ++, C #, Swift, Go, Rust тощо). Використовуйте специфічний тег мови програмування для тегування питань, пов’язаних із використанням `структура`, оскільки синтаксис та семантика можуть залежати від мови. Ключове слово визначає або оголошує тип даних, що складається з інших типів даних. У кожного члена структури є своя область пам’яті (на відміну від «союзу», члени якої поділяють одну область пам’яті).

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' (або …

12
Корпус C ++ проти структури
Чи є якась різниця між використанням a std::tupleта лише даних struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } З того, що я знайшов в Інтернеті, я виявив, що є дві основні відмінності: structє більш читабельним, тоді як tupleмає багато загальних функцій, які …
95 c++  struct  tuples 

10
Структури проти класів
Я збираюся створити 100 000 об’єктів у коді. Вони невеликі, лише з 2 або 3 властивостями. Я покладу їх у загальний список, і коли вони є, я оберну їх циклом і перевірте значення aта, можливо, оновіть значення b. Чи швидше / краще створити ці об’єкти як клас чи як структура? …
93 c#  struct 

2
Функція для структури C ++
Зазвичай ми можемо визначити змінну для структури C ++, як у struct foo { int bar; }; Чи можемо ми також визначити функції для структури? Як би ми використовували ці функції?
93 c++  function  struct 

6
Чому C ++ забороняє анонімні структури?
Деякі компілятори C ++ дозволяють анонімні об'єднання та структури як розширення до стандартного C ++. Це трохи синтаксичного цукру, що іноді дуже корисно. Яке обґрунтування перешкоджає цьому бути частиною стандарту? Чи існує технічна перешкода? Філософський? Або просто недостатньо потреби, щоб це виправдати? Ось зразок того, про що я говорю: struct …
92 c++  struct  unions 

9
Ініціалізуйте / скиньте структуру до нуля / нуля
struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; Я заповнюю цю структуру, а потім використовую значення. На наступній ітерації я хочу скинути всі поля до 0або nullдо того, як я почну його повторно використовувати. Як я можу це зробити? Чи можу я використати memsetабо …

9
Чи безпечно для структур застосовувати інтерфейси?
Здається, я пам’ятаю, що читав щось про те, як погано для структур реалізовувати інтерфейси в CLR через C #, але, здається, я не можу про це нічого знайти. Це погано? Чи є непередбачені наслідки від цього? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public …
92 c#  interface  struct 

5
Чому цей розмір структури 3 замість 2?
Я визначив цю структуру: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; sizeof(col)Дати мені вихід 3, але вона не повинна бути 2? Якщо я коментую лише один елемент, то sizeofце 2. Я не розумію, чому: п'ять елементів з 3 бітів дорівнюють 15 бітам, …
91 c++  c  struct 

6
Чи займає невикористана змінна члена пам'ять?
Чи ініціалізація змінної-члена, а не посилання / використання її, додатково займає оперативну пам’ять під час виконання, чи компілятор просто ігнорує цю змінну? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; У наведеному вище прикладі член 'var1' отримує значення, яке потім відображається …
91 c++  memory  struct 

11
Який найкращий спосіб помістити c-структуру в NSArray?
Який звичайний спосіб зберігати c-структури в NSArray? Переваги, недоліки, обробка пам'яті? Примітно, яка різниця між valueWithBytesі valueWithPointer - піднятими джастіном та сомами нижче. Ось посилання на обговорення Apple valueWithBytes:objCType:для майбутніх читачів ... Для деякого побічного мислення та приділення більше уваги продуктивності, Евген підняв проблему використання STL::vectorв C ++ . (Це …

5
Чому новий тип Tuple у .Net 4.0 є посилальним типом (класом), а не типом значення (struct)
Хтось знає відповідь та / або має думку щодо цього? Оскільки кортежі, як правило, не дуже великі, я вважаю, що для них буде більше сенсу використовувати структури, ніж класи. Що ти кажеш?

5
Чому C і C ++ підтримують членське призначення масивів у структурах, але не загалом?
Я розумію, що присвоєння членів масивів не підтримується, так що наступне не буде працювати: int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" Я просто прийняв це як факт, припустивши, що метою мови є забезпечити відкритий фреймворк і дозволити користувачеві вирішити, як реалізувати щось таке, …

6
Повертаючи два значення, Tuple проти 'out' проти '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) Яка з них є найкращою практикою і чому?
86 c#  struct  tuples  out  value-type 

6
C - функція всередині struct
Я намагаюся створити функцію всередині структури, поки що я маю такий код: typedef struct client_t client_t, *pno; struct client_t { pid_t pid; char password[TAM_MAX]; // -> 50 chars pno next; pno AddClient() { /* code */ } }; int main() { client_t client; //code .. client.AddClient(); } Помилка : client.h: …
86 c  function  struct 

4
ARC забороняє об'єкти Objective-C у структурах або об'єднаннях, незважаючи на позначення файлу -fno-objc-arc
ARC забороняє об'єкти Objective-C у структурах або об'єднаннях, незважаючи на позначення файлу -fno-objc-arc? Чому це так? У мене було припущення, що якщо ви позначите його -fno-objc-arc, у вас цього обмеження немає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.