реклама на сайте
подробности

 
 
> const staic простыня из констант - boilerplate
С дуба рухнул
сообщение Aug 6 2018, 11:08
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 6-08-18
Пользователь №: 106 507



Код
// h file
class CViewXXX
{
....
struct frame_cntrl_pairT
  {
      int idOnline; //
      int idSetup; //
  };

static const frame_cntrl_pairT m_onlineData[];
};
//cpp file
const CViewXXX::frame_cntrl_pairT CViewXXX::m_onlineData[] = {
{1,2},
{3,4},
{5,6},
};

Многовато для такой мелочи. Если же типы в frame_cntrl_pairT не int, а , например, шаблонные типы, то все становится просто безумно малочитаемым. Как делаете? define не вариант

Сообщение отредактировал С дуба рухнул - Aug 6 2018, 11:09
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
С дуба рухнул
сообщение Aug 6 2018, 14:40
Сообщение #2





Группа: Участник
Сообщений: 12
Регистрация: 6-08-18
Пользователь №: 106 507



Я не спрашивал "зачем", я просил "как". MSDN говорит, что правильно все, нельзя not an integral type, use a member-definition statement.

Цитата(Forger @ Aug 6 2018, 15:27) *
Первое, что нужно сделать под плюсами, убрать нафик статики.


Если это принципиально "считать при компиляции", то на это есть шаблоны.
Я использую базовые абстактные классы с основным фукционалом, а от них уже наследую шаблонные классы с нужными изменяемыми параметрами, которые считаются, как вы хотите, "при компиляции".


Еще раз - удалить static, тут он костыль, который попьет еще немало крови.

Мне нужен static const. Да и даже начихав на расход памяти для дублежа на каждый экземпляр такого класса с не static членами - ничего не выйдет, структура это non integral тип, и так инициализировать ее нельзя. Будет уже https://docs.microsoft.com/en-us/previous-v...3ks1w(v=vs.120) cannot specify explicit initializer for arrays
Причем тут шаблонные классы вообще? Вопрос был как проиниициализровать статическую константную структуру всего лишь

Сообщение отредактировал С дуба рухнул - Aug 6 2018, 14:41
Go to the top of the page
 
+Quote Post
Forger
сообщение Aug 6 2018, 14:48
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(С дуба рухнул @ Aug 6 2018, 17:40) *
Я не спрашивал "зачем", я просил "как".

В таком случае ответ будет только один: остаться на голом С, забыть про плюсы, и слушаться MSDN, ведь "MSDN говорит, что правильно все". biggrin.gif

Цитата
Да и даже начихав на расход памяти для дублежа на каждый экземпляр такого класса с не static членами - ничего не выйдет,

Странно, а у меня это прекрасно получается ...
Но раз, Вы так говорите что "ничего не выйдет", то действительно - у Вас ничего и не выйдет

Цитата
Вопрос был как проиниициализровать статическую константную структуру всего лишь

А я вот только сейчас увидел этот первый прямой вопрос. Ну, наверно, плохо читал ((
Ответ: посмотрите в сторону "constexpr"


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- С дуба рухнул   const staic простыня из констант - boilerplate   Aug 6 2018, 11:08
- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 14:08)...   Aug 6 2018, 14:09
- - С дуба рухнул   У меня в классе есть несколько windows control. У ...   Aug 6 2018, 14:25
|- - Forger   ЦитатаМне нужны константные пары, общие для всего ...   Aug 6 2018, 14:27
|- - XVR   Цитата(С дуба рухнул @ Aug 6 2018, 17:25)...   Aug 6 2018, 18:56
- - С дуба рухнул   Можно пример того, что требуется привести?   Aug 6 2018, 14:52
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 17:52)...   Aug 6 2018, 14:56
- - С дуба рухнул   Как использовать constexpr для таких целей   Aug 6 2018, 14:59
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 17:59)...   Aug 6 2018, 15:04
|- - С дуба рухнул   Цитата(Forger @ Aug 6 2018, 16:04) Для на...   Aug 6 2018, 15:09
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 18:09)...   Aug 6 2018, 15:39
- - С дуба рухнул   Чем тут помогло и где оно constexpr? Вы нарисовал...   Aug 6 2018, 16:00
|- - Forger   Цитата(С дуба рухнул)Достаточно написать было ...   Aug 6 2018, 16:11
- - С дуба рухнул   Кодclass baseCalendar { protected: enum clas...   Aug 6 2018, 17:39
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 20:39)...   Aug 6 2018, 17:42
- - С дуба рухнул   Ваш багаж знаний неужели кончился? Попрошу еще отв...   Aug 6 2018, 17:51
|- - Forger   Для подобной примитивной задачи мощь языка C++ со ...   Aug 6 2018, 18:09
- - С дуба рухнул   Вы по существу семантики скажете когда нибудь что ...   Aug 6 2018, 18:11
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 21:11)...   Aug 6 2018, 18:20
|- - С дуба рухнул   Цитата(Forger @ Aug 6 2018, 18:20) Вот им...   Aug 6 2018, 19:51
|- - Forger   Цитата(С дуба рухнул @ Aug 6 2018, 22:51)...   Aug 6 2018, 20:12
- - С дуба рухнул   Непонятно. Я о инициализации структур писал. http...   Aug 6 2018, 20:30


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 16:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016