Массив и структура инициализируются в C ++ - PullRequest
4 голосов
/ 22 октября 2010

Я хотел бы инициализировать некоторые элементы структуры и массива в C ++.

В C вы можете сделать:

unsigned char array[30] = {[1] = 4, [20] = 4};
struct mystruct 
{ int i;
  int j;
}
struct mystruct e = {.j = 2};

Но я не могу сделать это в C ++.Есть ли способ реализовать этот тип назначенных инициализаторов?

Ответы [ 2 ]

1 голос
/ 22 октября 2010

В C++ struct имеет конструкторы (как и class), так что вы всегда можете запустить в них свою переменную.

0 голосов
/ 22 октября 2010

Всегда хорошо инициализировать ВСЕ элемент в массиве или структуре, чтобы избежать многих ошибок.

Ниже может помочь вам.

Инициализация для структуры

struct myStruct

{

   int i;

   int j;

   myStruct()
   {
       j=10; //default Constructor     
   }

};

Инициализация для массива:

unsigned char array[5];

array[0]='A';

array[2]='C';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...