Re[2]: Разреженный массив в compile-time
От: avovana Россия  
Дата: 05.07.18 15:48
Оценка:
Здравствуйте, Слава, Вы писали:

С>Пожалуйста, объясните практическую ценность этого.


Здравствуйте, reversecode, Вы писали:


R>http://www.cyberforum.ru/cpp-beginners/thread2216255.html

R>походу где то на собеседованиях дают

Совершенно верно.
Мне дали эту тестовую задачку и попросили сказать за сколько её получилось сделать когда пришлю ответ.
Я её делаю уже 2ой месяц
Это уже более практический интерес.
В ту тему на форуме не хочу заглядывать, т.к. хочу сам дойти и в т.ч. с вашей помощью.
Здесь я размышляю с участниками форума, а там как бы смотрю на готовое решение.
Такие вот у меня мысли)

Здравствуйте, Chorkov, Вы писали:

C>Здравствуйте, avovana, Вы писали:



C>На github, практически работающий пример.

C>Видимо stackoverflow.com работает оперативнее .

Из данного ответа на stackoverflow.com так и не понял что делать.
Скорее-всего, это потому, что сам не смог точно сформулировать вопрос и, как мне кажется, ответили чуть не в ту стезю.

C>Единственное, VS2015 ругается не countEntityNumber — не хочет циклы в constexpr функции.

То что ругается на циклы в constexpr методе countEntityNumber в VS2015 — это, скорее-всего, потому что еще не реализована до конца функциональность С++14.

Там еще закомментировал вызовы operator+ в main. Вот если их раскомментировать — и пойдет жара от компилятора)

C>Вынес в отдельный namespace SparseArrayDitails

Это то, что вертелось в голове("убери эту функциональность куда-нибудь, убери, выдели это как-нибудь")! Спасибо за приём!

C>Еще, с точки зрения использования, маска — очень плохая идея.

Это данное условие задачи
Спасибо за предложенную идею.

V>У тебя попутались индексы и значения, одно смешалось с другим, надо там навести марафет. В общем — коллизия примерно такого плана: индексы — они нормально перерабатываются в compile-time, а вот хранимые значения — не очень, вот и образуется ругань от компилятора, мол ‘this’ is not a constant expression когда ты пытаешся значение засунуть в compile-time константу...

Вот-вот... наверное, в этом дело.

V>Не подсматривать

А... держусь! Сейчас попробую разобраться с этой путаницей.
Если не пойдет, то прибегну к этой помощи)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.