goto нормальное или есть варианты получше?
                  
                  
                  for(uint32_t i = 0; i < physicaldeviceCount; i++)
                  
                  
                      {
                  
                  
                          exit_extensions:
                  
                  
                          VkPhysicalDeviceProperties deviceProperties;
                  
                  
                          vkGetPhysicalDeviceProperties(physicalDevices[i], &deviceProperties);
                  
                  
                          string deviceExtensions[] ={
                  
                  
                              VK_KHR_SWAPCHAIN_EXTENSION_NAME};
                  
                  
                          uint32_t extensionCount;
                  
                  
                          vkEnumerateDeviceExtensionProperties(physicalDevices[i], nullptr, &extensionCount, nullptr);
                  
                  
                          VkExtensionProperties* availableExtensions = new VkExtensionProperties[extensionCount];
                  
                  
                          vkEnumerateDeviceExtensionProperties(physicalDevices[i], nullptr, &extensionCount, availableExtensions);
                  
                  
                          for (uint64_t j = 0; j < 1; j++)
                  
                  
                          {
                  
                  
                              bool found = false;
                  
                  
                              for(uint64_t k = 0; k < extensionCount; k++)
                  
                  
                              {
                  
                  
                                  if(strcmp(deviceExtensions[i].c_str(), availableExtensions[k].extensionName) == 0)
                  
                  
                                  {
                  
                  
                                      found = true;
                  
                  
                                      break;
                  
                  
                                  }
                  
                  
                              }
                  
                  
                              if(!found)
                  
                  
                              {
                  
                  
                                  delete []availableExtensions;
                  
                  
                                  i++;
                  
                  
                                  goto exit_extensions;
                  
                  
                              }
                  
                  
                          }
                  
                  
                         //проверка очередей
                  
                  
                      }
                  
                  
                
в чистом Си, мне кажется, норм. В плюсах лучше всё-таки RAII
правильнее было бы воткнуть метку в конце цикла
ты хочешь сделать continue для внешнего цикла?
у тебя проблема в обходе куска с проверкой очередей?
где тут raii применим?
да, для выхода из нескольких вложенных циклов, continue из вложенных циклов goto норм
То, что после goto - в деструктор
Обсуждают сегодня