|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.04.2024, 13:10 | #1 |
Новичок
Джуниор
Регистрация: 27.04.2024
Сообщений: 1
|
Поясните, пожалуйста, как работает этот код, и почему используется амперсанд, а не звездочка?
#include <iostream>
using namespace std; typedef long (*Long_Long)(long, long, short); typedef float (*Float_Float) (float, float, float); typedef string(*String_String) (string, string, string); typedef double (*Double_2Char) (double, char, char); typedef double (*Double_Long_Char) (double, long, char); // typedef string(*String_2Char) (string, char, char); typedef string(*String_Long_Char) (string, int, int); template <typename T1, typename T2, typename T3> T1 SUMMA(T1 x1, T2 x2, T3 x3) { T1 z= x1 + (T1)x2 + (T1)x3; return z; } int main() { void* ptr; ((Long_Long&)ptr) = SUMMA; cout << ((Long_Long&)ptr)(80000, 10000, 455) << endl; (Float_Float&)ptr = SUMMA; cout << ((Float_Float&)ptr)(1.2e+38, 0.8e+38, 1.4e+38) << endl; ((String_String&)ptr) = SUMMA; cout << ((String_String&)ptr)("ABCD", "efgh", "12345") << endl; ((Double_2Char&)ptr) = SUMMA; cout << ((Double_2Char&)ptr)(1000, 'A', 'a') << endl; ((Double_Long_Char&)ptr) = SUMMA; cout << ((Double_Long_Char&)ptr)(1000, 100000, 'A'); return 0; } |
28.04.2024, 06:41 | #2 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
где именно?
в коде полно UB вот так лучше Код:
Последний раз редактировалось Алексей1153; 29.04.2024 в 06:34. |
28.04.2024, 10:56 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
Среди множества расшифровок UB не нашёл ничего соответствующего - может быть : Unclear Bardak ?
|
29.04.2024, 06:34 | #4 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
digitalis, undefined behavior
|
29.04.2024, 10:12 | #5 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
Вот оно как...
Но в общем-то - моя расшифровка недалека от этой |
29.04.2024, 10:17 | #6 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
да.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите,пожалуйста, почему-то код не работает. | alonil | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 11.03.2023 03:30 |
обьясните пожалуйста как работает этот код подразрядной сортировки - C++ | Александр121 | Помощь студентам | 1 | 19.01.2018 14:03 |
Поясните мне этот код шаг за шагом | kroatoani | Общие вопросы Delphi | 5 | 21.09.2010 14:21 |
почему этот код интерфейса не работает. | KWN, lnc | Помощь студентам | 5 | 30.01.2010 10:54 |