abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.15 oznámil Linus Torvalds vydání Linuxu 6.16. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    25.7. 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 22
    25.7. 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.7. 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 1
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (26%)
     (6%)
     (5%)
     (4%)
     (1%)
     (3%)
     (26%)
    Celkem 143 hlasů
     Komentářů: 17, poslední 26.7. 20:08
    Rozcestník

    Dotaz: pretaženie operatora s konštantou naľavo

    Xgamer avatar 20.4.2011 19:04 Xgamer | skóre: 4
    pretaženie operatora s konštantou naľavo
    Přečteno: 174×
    Zdravím, mam za úlohu nakodiť "knihovnu" na základne operácie s komplexnými číslami. Samozrejme relatívne jednoduchá úloha, ktorá sa dá vyriešiť pomocou preťažovanie operátorov. Avšak v tom je aj ten problém :). Neviem totiž ako spraviť aby mi fungovalo napríklad niečo takéto c1 = 2 * c1 Opačne čiže c1*2 funguje bezproblémovo, ale neviem ako spraviť aby to fungovalo aj naopak, neviem ako to zapísať. Ďakujem za pomoc

    Odpovědi

    20.4.2011 19:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo

    Je potřeba, aby vaše třída měla konstruktor, který půjde volat s jedním reálným parametrem, tj. např.

    class Cplx {
    protected:
      double x;
      double y;
    public:
      Cplx(double xx=0.0, double yy=0.0) : x(xx), y(yy) {}
    };
    
    20.4.2011 19:35 Sten
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Jednoduše udělejte operátor mimo třídu a se dvěma parametry:
    Complex operator *(const double &left, const Complex &right);
    Xgamer avatar 21.4.2011 20:11 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Ano tak by to šlo ale gcc mi stále hlasi že už mam viacnasobnu definiciu operatora. Ide o to že ja potrebujem spraviť:
    Complex operator *(Complex &c1, Complex &c2)
    Complex operator *(const double &num, Complex &c)
    Complex operator *(Complex &c, const double &num)
    Som z toho trošku jeleň, na googli nemožem nič rozumne k tomu najsť niečo čo by riešilo všetky pripady ako potrebujem ja... Ako som pochopil tak to nemožem všetko nadefinovať ako metody, resp. v tele triedy ale ako friend funkcie no ani tak mi to nefunguje.

    Časť triedy:
    class Complex
    {
        public:
            Complex(){};
            Complex(double re, double im);
            friend Complex operator * (Complex &c1,const double &num) ;
            friend Complex operator * (const double &num, Complex &c1) ;
            friend Complex operator * (Complex &c1, Complex &c2);
            void Display();
        private:
            double re;
            double im ;
    };
    Ďakujem za pomoc :)
    21.4.2011 20:33 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    A zkoušel jste to, co jsem vám poradil v první odpovědi?
    Xgamer avatar 21.4.2011 21:54 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Skúšal som to, stale mi to hlási viacnásobná definicia...
    21.4.2011 22:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo

    V tom případě ukažte, co přesně jste zkoušel, protože to funguje:

    #include <iostream>
    
    class C {
    public:
      double x;
      double y;
      C(double xx=0.0, double yy=0.0) : x(xx), y(yy) {}
    };
    
    inline const C operator * (const C& a, const C& b)
    {
      return C(a.x*b.x-a.y*b.y, a.x*b.y+a.y*b.x);
    }
    
    int main()
    {
      C a(3,5);
      C b;
    
      b = 2 * a;
    
      std::cout << b.x << " + " << b.y << "i\n";
    
      return 0;
    }
    
    21.4.2011 20:43 __dark__
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    A nemělo by to být spíš takto?
    Complex operator *(const Complex &c1, const Complex &c2)
    Complex operator *(const double &num, const Complex &c)
    Complex operator *(const Complex &c, const double &num)
    
    A napiš to mimo tělo té třídy, jak radil Sten.
    21.4.2011 21:06 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Není u double ta konstantní reference trochu overkill?
    Xgamer avatar 21.4.2011 21:58 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Neviem, tak sa v tom nevyznam :)vždy to bude len konštatne čislo tak neviem. Každá nová vedomosť je dobrá :)
    21.4.2011 22:21 Sten
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    No jak na které architektuře, jsem holt zvyklej na ty starý (16-bit, 32-bit), kde bylo lepší všechno, co je větší než registr a není konstanta, předávat referencí, ale na 64-bitovém počítači už se double vejde do registru, tak tam je to zbytečný.
    21.4.2011 23:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    Nejenom zbytečné. Pokud to totiž budete opravdu předávat přes pointer (který je mimochodem stejně velký jako double), znamená to zdržení na jeho dereferencování. V praxi je ale samozřejmě otázka, co z toho v konkrétním případě udělá kompilátor.
    Xgamer avatar 21.4.2011 21:56 Xgamer | skóre: 4
    Rozbalit Rozbalit vše Re: pretaženie operatora s konštantou naľavo
    No vyzerá to že si prehádzal len poradie? No nenapadlo ma že by to s tým niečo mohlo mať, ale skusil som to a stale to iste:( ono pokial nemam zadefinovaný operator pre riešenie ked je na lavej strane tá konštanta tak to ide...

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.