Форум программистов, компьютерный форум CyberForum.ru

Как (можно ли) инициализировать переменную в структуре? - C++

Восстановить пароль Регистрация
 
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
29.04.2013, 23:08     Как (можно ли) инициализировать переменную в структуре? #1
Как пример
C++
1
2
3
struct cifri { 
char one[]="ONE"; 
};
Почему так нельзя и как можно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 23:08     Как (можно ли) инициализировать переменную в структуре?
Посмотрите здесь:

можно ли как-то инициализировать массив? C++
C++ Инициализировать переменную ее максимально допустимым значением
Выделение памяти под переменную в структуре C++
Можно ли инициализировать static член класса функцией? C++
C++ Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
29.04.2013, 23:13     Как (можно ли) инициализировать переменную в структуре? #2
Так прокатит только со static const членами, но они будут едины для всех объектов этого типа и их нельзя будет изменять, так как они const
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
29.04.2013, 23:18  [ТС]     Как (можно ли) инициализировать переменную в структуре? #3
Цитата Сообщение от ViktorKozlov Посмотреть сообщение
Так прокатит только со static const членами, но они будут едины для всех объектов этого типа и их нельзя будет изменять, так как они const
Можно с примерном? Потому что и со статик конст все равно пишет, мол нельзя инициализировать)
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
29.04.2013, 23:23     Как (можно ли) инициализировать переменную в структуре? #4
C++
1
2
3
4
5
6
#include <string.h>
 
struct cifri { 
 char one[4]; 
 cifri () {strcpy (one,"ONE");}
};
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
30.04.2013, 01:06     Как (можно ли) инициализировать переменную в структуре? #5
Цитата Сообщение от Wladius Посмотреть сообщение
Почему так нельзя
потому что структурных переменных может быть и несколько.
В C++11 можно так:
C++
1
2
3
struct cifri {
 const char *one="ONE";
};
или так:
C++
1
2
3
struct cifri {
 static constexpr char one[]="ONE";
};
Yandex
Объявления
30.04.2013, 01:06     Как (можно ли) инициализировать переменную в структуре?
Ответ Создать тему
Опции темы

Текущее время: 15:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru