Portál AbcLinuxu, 12. května 2024 11:40


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
22.12.2022 10:57 jai masterrace
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
nemas pouzivat using namespace std v header filech, v cpp klidne muzes pokud nemas zadne konflikty v nazvech metod a typu.

a c/c++/rust je na hovno, nauc se jai
22.12.2022 22:46 Nerdlang
Rozbalit Rozbalit vše Re: C++ hate
Já se učím Erlang ale asi se na to vyseru. Stejně mi to k ničemu nebude.
dolik.rce avatar 22.12.2022 12:18 dolik.rce
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
V moderním C++ můžeš použít using std::vector;, čímž deklaruješ, že tuhle konkrétní třídu chceš mít dostupnou v aktuálním namespace bez prefixu. Pak se nemusíš bát, že si způsobíš nějaké obtíže tím, že jsi z std:: namespace přitáhl všechno (včetně operátorů a funkcí, o kterých si nikdy ani neslyšel).
22.12.2022 12:19 sad
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak v některých knihách používají:
using std::vector;
using std::string;
using std::cin;
using std::cout;
to je asi nejlepší způsob, nicméně v header files musí být všude std::
23.12.2022 00:57 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
lines.push_back(line); není idiomatické, idiomatický by byl move (lines.push_back(std::move(line)); nebo dtto s emplace).

Chlupaté závorky by to chtělo používat konzistentně (u main funkce jsou jinde než u ostatních) a osobně silně preferuju je mít i okolo jednořádkových if/for/atd.

Import ze std nejlépe pomocí using std::vector atd.

Jinak jestli tohle přijde jako ošklivý kód, tak počkej, až uvidíš opravdu ošklivé C++ :)
What Big Oil knew about climate change
23.12.2022 17:45 ttttttttttttt
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
Neidiomatická mi přijde funkce
void read_lines(std::vector<std::string>& lines);
Dává prostor pro různá chování v případě, když kolekce nebude prázdná a omezuje načítání na vektor. Raději
void read_lines(std::insert_iterator<std::string>& it);
nebo
std::vbector<std::string>& lines read_lines();
31.12.2022 11:54 ::: | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: C++ hate
Dává prostor pro různá chování v případě, když kolekce nebude prázdná a omezuje načítání na vektor. Raději

void read_lines(std::insert_iterator<std::string>& it);
Nemelo by to byt spis takto?
        void read_lines(std::insert_iterator<std::vector<std::string>>& it);
Cimz to stejne omezis na vektor :-)
nebo

std::vbector<std::string>& lines read_lines();
A tohle asi melo byt spis takto:
        std::vector<std::string> read_lines();
:-)

Jinak to ze funkci read_lines() muzes predat konteiner ktery neni prazdny je spis vyhoda nez nevyhoda. A pokud bych to chtel rozsirit i na jine konteinery nez std::vector, tak bych to udelal spis takto:
        template<typename Container>
        void read_lines(Container &c);
5.1.2023 13:44 jdsulin
Rozbalit Rozbalit vše Re: C++ hate
To jsi asi vystihl jeden z hlavnich problemu C++, ale i C. Pokud to neni receno v dokumentaci, tak netusis, co presne ti funkce s parametry udela. Jestli ten kontejner smaze a pak prida nebo zda ma pridavat, atd. Je to stejne jako, kdyz mas treba funkci, ktera vraci pointer v C. Mas ho pak uvolnit nebo je to soucasti jine struktury, ktera se uvolnuje jinde napr:

Point* getStart(Line* line)); // Point je soucasti struktury Line a tim padem se uvolni spolu s uvolnenim Line nebo je to nova instance tridy Point a musis ji uvolnit?

Podle me by to v tomto pripade mel byt std::vector<> navratova hodnota funkce readLines(), pak je to docela jasne, ale samozrejme bavime se o C++11, kdy std::vector ma move semantics, jinak ti teoreticky hrozi kopirovani celeho vektoru, i kdyz to je jedna ze zakladnich optimalizaci na kterou je spolehnuti.

Ale dobra praxe je - delej to jak chces, ale v ramci jednoho projektu vzdycky stejne.
5.1.2023 19:52 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: C++ hate
V C, ak sa nemusí uvolniť, môžeš definovať s parametrom const.
debian.plus@protonmail.com
6.1.2023 08:32 jdsulin
Rozbalit Rozbalit vše Re: C++ hate
Pokud chces pointer, ktery muzes menit nebo dale pouzivat treba ve funkce void setX(Point* point), tak ti const nepomuze. V C++ je v takovem pripade lepsi pouzit referenci.

A vlastne jsi narazil na dalsi problem C/C++ :) const je velmi dobre pouzivat, ale realne to nezarucuje vubec nic. Pamatuji si, ze jsem pouzival jednu knihovnu, ktera vypocitavala prusecik a jeden vstupni parametr byl const vec3d* normal, po provedeni funkce nastalo normal = -normal :)
6.1.2023 11:11 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: C++ hate
Hele už je to fakt průhledný, že podprahově prosazuješ Rust :)
9.1.2023 17:08 jdsulin
Rozbalit Rozbalit vše Re: C++ hate
Spise uz mam za sebou docela hodne kodu v C/C++ :) ... Rust nepouzivam
9.1.2023 17:49 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: C++ hate
Treba citát dokumentáciu alebo mat unit testy.
debian.plus@protonmail.com
Gréta avatar 23.12.2022 19:52 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin

furt jakoby víc lepčejší než rust :P :D ;D ;D

oslavná píseň na pana soudruha generalisima prezidentčíka Petra Pavla Pávka 🎶🫡🦚🎶
24.12.2022 23:19 Heretik
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
Pamatuji C++ bez šablon. Zortech, Borland, GNU, Microsoft.

Byl to dokonalý jazyk.

Dokonalost nemůže být ještě dokonalejší. Když přidáte cokoliv k dokonalé věci, zkazíte ji.

Zkazili jste to. Úplně.

Ta soudružka Gréta má úplnou pravdu.
25.12.2022 22:33 _
Rozbalit Rozbalit vše Re: C++ hate
ale hovno, C++ byla vždy sračka

ono i céčko je sračka, ale menší než C++
26.12.2022 06:30 _
Rozbalit Rozbalit vše Re: C++ hate
founded the rust vegan retard
27.12.2022 11:21 _
Rozbalit Rozbalit vše Re: C++ hate
no jestli zvlada programovaci jazyky stejne dobre jako anglictinu, tak nemas pravo se k programovani vubec vyjadrovat, pologramotny debile :)
27.12.2022 13:37 _
Rozbalit Rozbalit vše Re: C++ hate
Sklapni polohramptny vegane ovladany danone a zerouci fruktozu
27.12.2022 14:32 t@fu
Rozbalit Rozbalit vše Re: C++ hate
Fu vidim ze to pozirani mrtvych zvirat te dela dost agresivnim. Na cas se stat alepson vegetarianem.
27.12.2022 17:10 _
Rozbalit Rozbalit vše Re: C++ hate
Jsem členem PETA: People Eating Tasty Animalls
26.12.2022 12:37 Jose
Rozbalit Rozbalit vše Re: C++ hate
+1
31.12.2022 16:16 ::: | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: C++ hate
-1
10.1.2023 22:45 Luky
Rozbalit Rozbalit vše Re: C++ hate
Odpovědět | Sbalit | Link | Blokovat | Admin
Zacinal som na basicu v tej dobe at800

Potom prislo na rad prve pc dal som to na pascal

Ale jedna znama mi povedala pascal neni nic profesionalne potom som pochopil ze skutocny programatori robia v c a c++ okolo roku 1999 to bolo ok

No a po tolkych rokoch akurat som mrkol na freepascal zhrozil som sa k comu ten jazyk dospel fakt delphi je slaby odvar a tak len zo zaujimavosti som vygooglil freebasic a celkom sa mi to zapacil a vyzera ze basic je to prave
15.1.2023 20:34 vgy
Rozbalit Rozbalit vše Re: C++ hate
Okolo roku 1999 bolo jasné, že tí správny nerdi, čo sa už v živote nechcú nič učiť, nechcú čumieť do PC od rána do večera a nevnímať svet okolo zistili, že jediný správny jazyk je Visual Basic, v ktorom zbúchajú to čo chcú(a keď niečo treba opraviť, zbúchajú to tiež) a potom sa môžu venovať spaniu za PC(a keď príde šéf, tak sa prebudia)...

Lenže Microsoft im to v tomto roku pokazil a aj znalci Visual Basic sa musia radšej učiť C#... Fungujúcom zčasti aj pod Linuxom, hehe, ale Microsoft musí ešte popracovať, teda keby chcel :)

A nejaký Erlang, čo sa chváli všeličím, ale praví znalci Číňaňia(v USA) naň samozrejme háždu bobek :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.