Вопросы по теме 'designated-initializer'

С++ эквивалентен назначенным инициализаторам?
Недавно я работал над некоторыми встраиваемыми устройствами, где у нас есть некоторые структуры и объединения, которые необходимо инициализировать во время компиляции, чтобы мы могли хранить определенные вещи во флэш-памяти или ПЗУ, которые не нужно...
17437 просмотров
schedule 20.02.2022

Объединить назначенные инициализаторы и malloc в C99+?
Есть ли хороший способ объединить назначенные инициализаторы из C99 с результатом malloc ? Следующее кажется ненужным дублированием: typedef struct { int a, b, c; } Type; Type *t = malloc(sizeof *t); *t = (Type) { .a = 2, .b = 3,...
1489 просмотров
schedule 06.09.2022

как работают назначенные инициализаторы
У меня возникли проблемы с пониманием назначенных инициализаторов. Я изучаю Objective C из книги «Learn Objective C на Mac». Ниже приведен файл реализации. #import "Tire.h" @implementation Tire - (id) init { if (self = [self...
91 просмотров
schedule 15.01.2023

-Wmissing-field-initializer при использовании назначенных инициализаторов
Я использую GCC 4.6.2 (Mingw) и компилирую с помощью -Wextra . Я получаю странные предупреждения всякий раз, когда использую назначенные инициализаторы. Для следующего кода typedef struct { int x; int y; } struct1; typedef struct { int...
1117 просмотров
schedule 14.02.2023

Отключить назначенную проверку инициализатора в Xcode 6
Я получаю ошибку компиляции: error: convenience initializer missing a 'self' call to another initializer [-Werror,-Wobjc-designated-initializers] Назначенные инициализаторы, проверенные компиляцией, могут быть хорошей вещью, но если я не хочу...
8684 просмотров

Objective-C: Почему бы не вызвать назначенный инициализатор?
Я унаследовал этот код: - (id)initWithLocation:(CLLocation *)inLocation { if (self = [super init]) { _location = [inLocation copy]; } return self; } - (id)initWithLocation:(CLLocation *)inLocation offsetValue:(NSNumber...
47 просмотров
schedule 04.01.2023

Странные значения при инициализации массива с использованием назначенных инициализаторов
Когда я инициализирую массив ниже, все выходные данные выглядят нормально, за исключением values[3] . По какой-то причине values[3] , инициализированный как values[0]+values[5] , выводит очень большое число. Я предполагаю, что я пытаюсь назначить...
1390 просмотров

Объедините два назначенных инициализатора с помощью макроса
Во встроенном проекте я использую библиотеку, которая предоставляет макрос для инициализации структуры. Это обеспечивает разумные значения по умолчанию, но значения по умолчанию зависят от других параметров. Я хочу переопределить одно или несколько...
226 просмотров
schedule 28.04.2022

Как вызвать инициализаторы расширений протокола в назначенных инициализаторах?
Я пытаюсь внедрить инициализатор расширения протокола в назначенный инициализатор существующего класса. Я не думаю, что есть способ обойти это без переопределения назначенного инициализатора из класса, а затем вызвать инициализатор расширения...
749 просмотров

Что такое назначенный инициализатор в C?
Я знаю, что это может быть основной вопрос. У меня есть задание, которое требует от меня понимания того, что такое назначенные инициализаторы в C и что означает инициализация переменной одним из них. Я не знаком с этим термином и не смог найти...
9835 просмотров

Что такое назначенный инициализатор?
Я хочу понять, что предоставляют назначенные инициализаторы, которые отличаются от прямой инициализации. Например: #include <iostream> struct Subject{ int x; int y; int z; }; int main() { Subject subject_d{.x = 1, .y =...
106 просмотров
schedule 25.08.2022

Как я могу сослаться на параметр в назначенном инициализаторе?
Я хочу добавить значение параметра к другому параметру в назначенном инициализаторе без необходимости определять отдельную переменную для хранения этого значения. Это возможно? typedef struct { int x; int y; } point; int main() { point p =...
28 просмотров
schedule 13.05.2024

Почему я не могу использовать назначенные инициализаторы со структурами, которые не являются агрегатами?
C++ имеет приятную новую функцию: struct Point{ int x; int y; int z; }; Point p{.x=47, .y=1701, .z=0}; Но если я добавлю конструктор, мне запрещено использовать красивый синтаксис назначенных инициализаторов: struct Point{ Point(int x, int...
263 просмотров
schedule 05.06.2022

Агрегатная/назначенная инициализация структуры С++: ссылка непосредственно на другое поле
При использовании агрегатной/назначенной инициализации структуры можно ссылаться на другое поле следующим образом: #include <stdio.h> int main() { struct { int a; int b; } s = { .a = 3, .b = s.a + 1, };...
89 просмотров