The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Анализ влияния ключевого слова final на производительность программ C++"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Анализ влияния ключевого слова final на производительность п..." –3 +/
Сообщение от n00by (ok), 25-Апр-24, 14:04 
> можно пример? Чтоб именно goto обошел конструктор/деструктор, а не какой-нить setjmp

https://godbolt.org/z/KGaoGYq9W

#include <iostream>

struct S { S(); };

int main()
{
    goto uninit;
    int i(0);
    S s;
uninit:
    std::cout << i;
}

example.cpp
<source>(9): warning C4533: initialization of 's' is skipped by 'goto uninit'
<source>(9): note: see declaration of 's'
<source>(10): note: see declaration of 'uninit'
<source>(11) : warning C4700: uninitialized local variable 'i' used
Compiler returned: 0

В GCC вам по умолчанию нужный ключик добавили, что бы это воспринималось как error.

Стандарт явно запрещает лишь переходы в блоки try/catch (A goto or switch statement shall not be used to transfer control into a try block or into a handler).

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Анализ влияния ключевого слова final на производительность программ C++, opennews, 23-Апр-24, 14:15  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру