Může mi někdo vysvětlit, proč to vrací int a ne něco typově bezpečného? Chápu, že je to tradice, ale bavíme se o roku 2020.
Ono to vrací hodnotu typu, konkrétně std::strong_ordering, std::weak_ordering či std::partial_ordering, které jsou jedním směrem na sebe konvertovatelné, a porovnatelné s 0. (viz https://en.cppreference.com/w/cpp/utility/compare/strong_ordering)
6. 12. 2019, 12:04 editováno autorem komentáře
V C-čku sa dá aritmerika zneužiť
ako napr..
int pfd [2];
pipe(pfd);
close(1);
close(2);
if ( (dup(pfd[1])+dup(pfd[1]) ) !=3 )
,,,,,
printf("Test do rury\n");
(dúfam že tam nemá byť opačný index pfd v if-e) . A viem nie je to korektné: ala tam byť dup2
A tento operátor sa dá na podobné veci zneužiť...
Kde jste získal informaci, že C++ operator <=> bude vracet int? Pokud se podívám např. zde https://en.cppreference.com/w/cpp/language/default_comparisons, tak se používaji speciální typy. Ano není to konkrétní návrh specifikace, nechce se mi to procházet, ale většinou tam ty popisy sedí.
Těžko Vám někdo vysvětlí, proč to vrací int, když to int nevrací.
https://en.cppreference.com/w/cpp/language/default_comparisons
Jak může být JavaScript považován za vzor a ideál typové bezpečnosti, když tam je všechno vlastně objekt a vše jde volat se vším? Proč asi vznikl TypeScript? Z hlediska typové bezpečnosti se právě volí jazyky se silnými typy. Silně typové jazyky pak zase řeší problém s psaním generického kódu což je u jazyků se slabými typy v podstatě výchozí stav.