0x0F. Это не то, чего ты ждешь от своего кода. Современные трансляторы и вовсе не позволят тебе этого сделать, явно указав на смысловую ошибку в строке left + right потому что тебе гарантировано и никогда не нужно складывать два адреса памяти.std::string или std::wstring.std::wstring через конверсию строк.+ [?] работают так как ты ожидаешь. const char* left = 0x05;
const char* right = 0x0A;
const char* result = left + right;result после инициализации? const и модификатора * ты у читателя украл около секунды времени. Лично мне сейчас, да и практически всем инженерам в таких случаях, приходится вчитываться в странное слово между char и c_ptr.IntList1D &list, где ты приклеиваешь модификатор к имени. А вот сейчас в коде char *const c_ptr что ты можешь приклеить к имени? А ничего. И выходит что у тебя оформление кода неоднозначное, заставляет все время вчитываться. И чтение твоего кода заставляет тратить на это значительно больше времени чем чтение профессионального кода.char* const c_ptr.cast_ray просто скачет пикселями, а не чертит прямую. А ведь про алгоритм Брезенхама описывается в статьях что я привел.y = ax + b, из чего довольно легко выводится параметрическая запись с зависимостью от точки начала и вектора направления. Далее луч никуда бросать не надо, надо просто определить, хоть полным перебором, какие объекты сцены пересекают этот луч, найти точку проекции, посчитать направление отражения и определить, виден ли отраженный луч в камере. И это все описано в приведенных мной статьях. В цикле OpenGL тонкости трассиновки буквально разжевываются.(0, 0, 0). У тебя там источник света? Или у тебя там камера?Интересует рабочий код, могу даже заплатить .
emplace[?].Тебе нужно передать в метод аргументы конструктора чтобы объект с константными полями сконструировался прямо по месту нахождения в
std::map.