Вопросы с тегом «struct»

Ключевое слово в различных языках программирования, синтаксис которого подобен или получен из C (C ++, C #, Swift, Go, Rust и т. Д.). Используйте специальный тег языка программирования для обозначения вопросов, связанных с использованием `struct`, поскольку синтаксис и семантика могут зависеть от языка. Ключевое слово определяет или объявляет тип данных, состоящий из других типов данных. Каждый член структуры имеет свою область памяти (в отличие от «союза», члены которого разделяют одну область памяти).


4
Почему выравнивание структуры зависит от того, является ли тип поля примитивным или определяемым пользователем?
В Noda Time v2 мы переходим к наносекундному разрешению. Это означает, что мы больше не можем использовать 8-байтовое целое число для представления всего интересующего нас диапазона времени. Это побудило меня исследовать использование памяти (многими) структурами Noda Time, что, в свою очередь, привело меня к чтобы выявить небольшую странность в решении …

3
Инициализация структуры до 0
Если у меня есть такая структура: typedef struct { unsigned char c1; unsigned char c2; } myStruct; Каким будет самый простой способ инициализировать эту структуру значением 0? Достаточно ли следующего? myStruct _m1 = {0}; или мне нужно явно инициализировать каждого члена до 0? myStruct _m2 = {0,0};
117 c  struct  initialization 

8
Структуры в Javascript
Раньше, когда мне нужно было хранить несколько связанных переменных, я создавал класс. function Item(id, speaker, country) { this.id = id; this.speaker = spkr; this.country = country; } var myItems = [ new Item(1, 'john', 'au'), new Item(2, 'mary', 'us') ]; Но мне интересно, хорошая ли это практика. Есть ли другие, …
112 javascript  struct 

7
Как проверить пустую структуру?
Я определяю структуру ... type Session struct { playerId string beehive string timestamp time.Time } Иногда я назначаю ему пустой сеанс (потому что nil невозможно) session = Session{}; Затем я хочу проверить, пусто ли оно: if session == Session{} { // do stuff... } Очевидно, это не работает. Как мне …
111 struct  go 

9
sizeof одиночный член структуры в C
Я пытаюсь объявить структуру, которая зависит от другой структуры. Хочу использовать из sizeofсоображений безопасности / педантизма. typedef struct _parent { float calc ; char text[255] ; int used ; } parent_t ; Теперь я хочу объявить структуру child_tтого же размера, что и parent_t.text. Как я могу это сделать? (Псевдокод ниже.) …
109 c  struct  sizeof 

6
C / C ++ Struct против класса
После завершения моего класса C ++ мне показалось, что структуры / классы практически идентичны, за исключением нескольких незначительных отличий. Я никогда раньше не программировал на C; но я знаю, что у него есть структуры. В C можно ли наследовать другие структуры и установить модификатор public / private? Если вы можете …
108 c++  class  struct 

2
Поля интерфейса Go
Я знаком с тем фактом, что в Go интерфейсы определяют функциональность, а не данные. Вы помещаете набор методов в интерфейс, но не можете указать какие-либо поля, которые потребуются для чего-либо, что реализует этот интерфейс. Например: // Interface type Giver interface { Give() int64 } // One implementation type FiveGiver struct …
106 struct  interface  go 

10
Законно ли индексировать структуру?
Независимо от того, насколько «плохой» код и если предположить, что выравнивание и т. Д. Не является проблемой для компилятора / платформы, является ли это неопределенным или неправильным поведением? Если у меня есть такая структура: - struct data { int a, b, c; }; struct data thing; Является ли это законным …
104 c++  c  struct 

6
Должны ли определения структур помещаться в файл .h или .c?
Я видел как полные определения structs в заголовках, так и просто объявления - есть ли преимущества у одного метода перед другим? Если это имеет значение, я обычно набираю такую ​​структуру в .h typedef struct s s_t; редактировать Для ясности, параметры - это объявление в файле заголовка и определение в классе …
104 c  header  struct 

7
Как создать массив структур на C?
Я пытаюсь создать массив структур, каждая из которых представляет собой небесное тело. У меня не так много опыта работы со структурами, поэтому я решил попробовать использовать их вместо целой кучи массивов. Однако я продолжаю сталкиваться с множеством различных ошибок. Я пытался реализовать методы, которые я видел в различных потоках и …
101 c  arrays  struct 

7
Как использовать SCNetworkReachability в Swift
Я пытаюсь преобразовать этот фрагмент кода в Swift. Я изо всех сил пытаюсь оторваться от земли из-за некоторых трудностей. - (BOOL) connectedToNetwork { // Create zero addy struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.sin_len = sizeof(zeroAddress); zeroAddress.sin_family = AF_INET; // Recover reachability flags SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); SCNetworkReachabilityFlags …
99 ios  c  struct  swift  reachability 

7
Быстрая и изменяющаяся структура
Есть кое-что, чего я не совсем понимаю, когда дело касается изменения типов значений в Swift. Как говорится в iBook «Язык программирования Swift»: По умолчанию свойства типа значения не могут быть изменены из его методов экземпляра. Чтобы сделать это возможным, мы можем объявлять методы с mutatingключевым словом внутри структур и перечислений. …

1
Какова цель this [1] в конце объявления структуры?
Я просматривал файлы заголовков своего микроконтроллера MSP430 и наткнулся на это в <setjmp.h>: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t …

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' (или …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.