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

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

12
C ++ Tuple против Struct
Есть ли разница между использованием a std::tupleи только данных struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } Из того, что я нашел в Интернете, я обнаружил, что есть два основных отличия: structболее читабельный и tupleимеет много общих функций, которые можно использовать. Должна …
96 c++  struct  tuples 

10
Структуры против классов
Я собираюсь создать в коде 100 000 объектов. Они маленькие, всего 2 или 3 объекта. Я помещаю их в общий список, а когда они есть, я зацикливаю их, проверяю значение aи, возможно, обновляю значение b. Быстрее / лучше создавать эти объекты как класс или как структуру? РЕДАКТИРОВАТЬ а. Свойства являются …
95 c#  struct 

9
Безопасно ли для структур реализовывать интерфейсы?
Кажется, я помню, как читал что-то о том, как плохо для структур реализовывать интерфейсы в CLR через C #, но я не могу найти ничего об этом. Это плохо? Есть ли у этого непредвиденные последствия? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar …
94 c#  interface  struct 

6
Почему C ++ запрещает анонимные структуры?
Некоторые компиляторы C ++ допускают анонимные объединения и структуры как расширение стандартного C ++. Это немного синтаксического сахара, которое иногда бывает очень полезно. Какое объяснение препятствует тому, чтобы это стало частью стандарта? Есть технические препятствия? Философский? Или просто недостаточно, чтобы это оправдать? Вот пример того, о чем я говорю: struct …
93 c++  struct  unions 

2
Функция для структуры C ++
Обычно мы можем определить переменную для структуры C ++, как в struct foo { int bar; }; Можем ли мы также определить функции для структуры? Как бы мы использовали эти функции?
93 c++  function  struct 

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

6
Неиспользуемая переменная-член занимает память?
Инициализация переменной-члена, а не обращение к ней / ее использование, дополнительно занимает оперативную память во время выполнения, или компилятор просто игнорирует эту переменную? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; В приведенном выше примере член var1 получает значение, которое затем …
92 c++  memory  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 

11
Как лучше всего поместить c-структуру в NSArray?
Как обычно хранить c-структуры в файле NSArray? Достоинства, недостатки, обработка памяти? Примечательно, в чем разница между valueWithBytesи valueWithPointer - поднятый Джастином и сомом ниже. Вот ссылка на обсуждение Apple valueWithBytes:objCType:для будущих читателей ... Для нестандартного мышления и большего внимания к производительности Evgen поднял вопрос об использовании STL::vectorв C ++ . …

5
Почему новый тип Tuple в .Net 4.0 является ссылочным типом (классом), а не типом значения (структурой)
Кто-нибудь знает ответ и / или имеет мнение по этому поводу? Поскольку кортежи обычно не очень большие, я предполагаю, что для них имеет смысл использовать структуры, а не классы. Что скажешь?

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

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) Какой из них является лучшим и почему?
86 c#  struct  tuples  out  value-type 

3
Структура памяти в C
У меня опыт работы на C #. Я новичок в языке низкого уровня, таком как C. В C # structпамять по умолчанию распределяется компилятором. Компилятор может неявно изменять порядок полей данных или вставлять дополнительные биты между полями. Итак, мне пришлось указать какой-то специальный атрибут, чтобы переопределить это поведение для точного …

6
C - функция внутри структуры
Я пытаюсь создать функцию внутри структуры, пока у меня есть этот код: 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.