2016-08-10 3 views
1

Рассмотрим следующую примерную программу.Что такое термин для инициализации члена структуры внутри определения?

#include <stdio.h> 

struct FooBar { 
    bool test{true}; // What is this syntax called? 
}; 

int main() { 
    FooBar bar; 
    printf("%d\n", bar.test); 
} 

Каково название синтаксиса для инициализации в строке с комментарием?

+1

[Унифицированная инициализация] (http://programmers.stackexchange.com/questions/133688/is-c11-uniform-initialization-a-replacement-for-the-old-style-syntax) .... – WhiZTiM

+0

Для поиск, инициализатор/инициализация члена класса, вероятно, послужит вам хорошо. Однако это не «священный стандарт». –

ответ

2

Непонятно, что конкретно ваш вопрос должен быть о: синтаксисе или функции.

Если я правильно понимаю объем вашего вопроса, стандарт тщательно называет эту функцию «скопированные или равные инициализаторы нестатических данных». Да, все.

Итак, синтаксис скобка-равный-инициализатор. И это, случается, используется с нестатическим членом данных в вашем примере.

+0

Я искал термин, поэтому я мог использовать Google для семантики такой инициализации. Простого поиска «инициализации члена в определении структуры» было недостаточно. – merlin2011

2

Он называется скопированным или равным инициализатором для нестатического элемента данных. Теперь он известен как инициализатор элемента по умолчанию (спасибо P0134).

+0

Грамматически, «скользящий или равный-инициализатор» может применяться к вещам, отличным от NSDM. Так технически, у него не было имени раньше. –

1

грамматического инициализатор является скобкой или равно-инициализатор, но это громоздко сказать, и эта конструкция теперь имеет надлежащий технический термин, также: член по умолчанию инициализатора (см [класс. MEM]/8). Этот термин был введен после C++ 14 и в настоящее время находится в рабочем проекте.

Смежные вопросы