нет?
                  
                  
                  
                  
                  
                    float& fvec4::operator[](int index)
                  
                  
                    {
                  
                  
                      assert(index <= 3);
                  
                  
                      union {
                  
                  
                        __m128 v;
                  
                  
                        float a[4];
                  
                  
                      } u;
                  
                  
                      u.v = this->xmm;
                  
                  
                      return u.a[index];
                  
                  
                    }
                  
                  
                
Да, будет
Почему?
Потому что идёт обращение к u.a – неактивному члену union, лайфтайм которого начат не был
То-есть он должен быть сначала присвоен, чтобы его не было?
Да, вы можете читать только те члены union, которым присваивали в последний раз значение
Обсуждают сегодня