Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 March 28

AW

Alexander Wizaral in IT KPI C/C++ ХВ (не UB)
AnderX
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
 setlocale(LC_ALL, "Russian");
 float r, x, y;
 bool way;
 cout << "Введите способ решения (0 - короткий, 1 - длинный): ";
 cin >> way;
 cout << "Введите радиус: ";
 cin >> r;
 cout << "\nВведите координату x: ";
 cin >> x;
 cout << "\nВведите координату y: ";
 cin >> y;
 if (!way)
 {
   if (pow(x, 2) + pow(y, 2) <= pow(r, 2) && x >= y)
   {
     cout << "\nТочка находится в заштрихованной области\n";
   }
   else
   {
     cout << "\nТочка НЕ находится в заштрихованной области\n";
   }
 }
 else
 {
   if (pow(x, 2) + pow(y, 2) <= pow(r, 2))
   {
     if (x >= y)
     {
       cout << "\nТочка находится в заштрихованной области\n";
     }
     else
     {
       cout << "\nТочка НЕ находится в заштрихованной области\n";
     }
   }
   else
   {
     cout << "\nТочка НЕ находится в заштрихованной области\n";
   }
 }
}
Плиз, кидай код на pastebin, а потом сюда ссылку
источник

A

András in IT KPI C/C++ ХВ (не UB)
Alexander Wizaral
Плиз, кидай код на pastebin, а потом сюда ссылку
Ну, він хоча б код відформатував)
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
András
Грубо кажучи звичайні функції викликаються, а інлайн функції "вбудовуються" замість виклику. Типу при виклику звичайних функцій спочатку на стеку виділиться пам'ять під аргументи і значення повернення, потім зробиться виклик, а лиш потім почне виконуватись команди в функції. Інлайн функції пробують вставити команди функції зразу в мвсце де вони викликаються, тож не відбувається трата часу на виділення пам'яті і виклик. Але це інколи може зробити час виконання довше
А за рахунок чого довше?
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
Хоча б наприклад)
источник

A

AnderX in IT KPI C/C++ ХВ (не UB)
Alexander Wizaral
Плиз, кидай код на pastebin, а потом сюда ссылку
Ок, не вопрос
источник

A

András in IT KPI C/C++ ХВ (не UB)
Переслано от András
З сайта який найбільш детально описує стандарт:
The inline functions are a C++ enhancement feature to increase the execution time of a program.
источник

A

András in IT KPI C/C++ ХВ (не UB)
Tony Lutsenko
А за рахунок чого довше?
Якщо чесно я хз, але десь зустрічав твердження, що воно може код зробити менш оптимальним(хз, мб компілятор не виконає якісь оптимізації, але це не точно)
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Tony Lutsenko
А за рахунок чого довше?
Нет вызова
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Вызов это джамп + положить всякую фигню в регистры и на стек
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Нет вызова
он написал что инлайн дольше иногда
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
не на то ответил :D
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
источник

A

András in IT KPI C/C++ ХВ (не UB)
Кста, а такий код може виконуватись довше в порівнянні з не інлайновим варіантом через бранч предіктор?
inline void func();
if(a > 10)
   func();
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Как запретить создавать объект класса, но разрешить потомкам? Протектед деструктор норм?
источник

AW

Alexander Wizaral in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Как запретить создавать объект класса, но разрешить потомкам? Протектед деструктор норм?
Протектед конструктор не?
источник

A

András in IT KPI C/C++ ХВ (не UB)
Alexander Wizaral
Протектед конструктор не?
Ну а раптом він в деструкторі створює?
источник

KS

Kyryl Sydorov in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Как запретить создавать объект класса, но разрешить потомкам? Протектед деструктор норм?
норм
источник

AW

Alexander Wizaral in IT KPI C/C++ ХВ (не UB)
András
Ну а раптом він в деструкторі створює?
Ору
источник

ДЦ

Дмитро Цимбалюк... in IT KPI C/C++ ХВ (не UB)
András
Грубо кажучи звичайні функції викликаються, а інлайн функції "вбудовуються" замість виклику. Типу при виклику звичайних функцій спочатку на стеку виділиться пам'ять під аргументи і значення повернення, потім зробиться виклик, а лиш потім почне виконуватись команди в функції. Інлайн функції пробують вставити команди функції зразу в мвсце де вони викликаються, тож не відбувається трата часу на виділення пам'яті і виклик. Але це інколи може зробити час виконання довше
это не может выполняться дольше
источник

A

András in IT KPI C/C++ ХВ (не UB)
Дмитро Цимбалюк
это не может выполняться дольше
Зверху в статті кидали варіант при якому може
источник