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 - в деструктор
Обсуждают сегодня