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 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 1
    dnes 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    dnes 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky Ladislav Hagara | Komentářů: 9
    včera 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 27
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 160 hlasů
     Komentářů: 12, poslední dnes 13:00
    Rozcestník

    Dotaz: C++ - vystup do kódu?

    17.5.2006 22:00 pyty | skóre: 4 | Bardejov
    C++ - vystup do kódu?
    Přečteno: 78×
    Potreboval by som vytvorit napr. 1000 poloziek v jednom poli - to "napr." píšem preto, lebo to bude definované uživaťeľom - a v tom je práve problém. Jedíny spôsob ktorý ma napadá je uložiť výstup do súboru, a potom ho nejako znova načítať, ale nechcem k tomu používať ešte iné súbory. Existuje pre Cpp nejaka taka funkcia alebo podobna fintička? Teda aby som mohol pomocou nejakeho cyklu vpísať tie polia akokeby do samotného kódu. V PHP myslím na niečo podobné slúži eval(), teda ak sa nemýlim.
    Don't let the system get you down...

    Odpovědi

    17.5.2006 22:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Bohužel jsem absolutně nepochopil, co vlastně potřebujete. Zkuste to ještě jednou, srozumitelněji.
    Ondrej avatar 17.5.2006 22:13 Ondrej | skóre: 20 | blog: darkblair_server | Praha
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    A nebylo by jednodussi udelat vstup do promenny a potom to pole dekalrovat jako pole[velikost] kde velikost je ta promenna? nevim jestli to takhle v C++ jde ale v C# i jinde to neni problem a pochybuju ze by v c++ byl.
    Nikdo neni nikdy lepsi nez ty! Pouze ty jsi obcas horsi nez ostatni.
    Jan Zahornadsky avatar 17.5.2006 22:16 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Toto se nepřeloží. U výrazů typu int pole[x] musí být x konstantní výraz (spočitelný za překladu). To, že je C# napůl interpretovaný jazyk je věc jiná :-P
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    17.5.2006 22:19 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Když už výslovně zmiňujete C++, tak proč nenapíšete prostě
      int* p = new int[n];
    
    nebo rovnou nepoužijete std::vector?
    17.5.2006 22:49 Tomáš | skóre: 25 | Ústí nad Labem
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Toto však také není pravda, v C++ tento kód normálně funguje:
    #include <iostream>>
    
    using namespace std;
    
    int main() {
            int velikost;
    
            cout << "Zadejte velikost: ";
            cin >> velikost;
    
            int pole[velikost];
    
            for(int i = 0; i < velikost; ++i) {
                    cout << (i+1) << ". hodnota: ";
                    cin >> pole[i];
            }
    
            cout << "Vypis:" << endl;
    
            for(int i = 0; i < velikost; ++i) {
                    cout << (i+1) << ". hodnota: " << pole[i] << endl;
            }
    
            return 0;
    }
    viz:
    $ ./pole
    Zadejte velikost: 3
    1. hodnota: 7
    2. hodnota: 5
    3. hodnota: 2
    Vypis:
    1. hodnota: 7
    2. hodnota: 5
    3. hodnota: 2
    gcc version 3.3.5 (Debian 1:3.3.5-13)
    Luboš Doležel (Doli) avatar 17.5.2006 22:54 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    To je zvláštní. Matně si vzpomínám, že mi tohle u MSVC++ nikdy neprošlo.

    Tady to funguje, dokonce včetně sizeof...
    17.5.2006 23:22 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Zajímavé, GCC 4.0 to akceptuje i u klasického C, nejen C++, dokonce i s '-std=c99 -Wall'. Že bych prozkoumal ty pokoutně stažené drafty norem?
    Jan Zahornadsky avatar 17.5.2006 23:27 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Díky za informaci, zajímavé. Omlouvám se za mystifikaci...
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    18.5.2006 08:42 springer | skóre: 10 | blog: engineering
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    s -ansi -pedantic to nejde
    kralovna Alzbeta a Stallmanuv holic diskutuji free software
    18.5.2006 11:44 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Tak pokoutně stažený draft normy říká toto:

    1. In addition to optional type qualifiers and the keyword static, the [ and ] may delimit an expression or *. If they delimit an expression (which specifies the size of an array), the expression shall have an integer type. If the expression is a constant expression, it shall have a value greater than zero. The element type shall not be an incomplete or function type. The optional type qualifiers and the keyword static shall appear only in a declaration of a function parameter with an array type, and then only in the outermost array type derivation.

    2. Only an ordinary identifier (as defined in 6.2.3) with both block scope or function prototype scope and no linkage shall have a variably modified type. If an identifier is declared to be an object with static storage duration, it shall not have a variable length array type.

    Je ale pravděpodobné, že možnost deklarovat velikost pole výrazem, který není vyhodnotitelný při kompilaci, se objevila až v pozdějších verzích jazyka.
    Jan Zahornadsky avatar 17.5.2006 22:14 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    C++ je kompilovaný jazyk, takže eval přichází v úvahu jen omezeně, jestli vůbec má někdo náladu se s tím piplat (a navíc není zaručeno, že se evalované řetězce budou chovat jinak než původní kompilátor).

    Ale nevidím k tmu žádný důvod. Pokud Chceš vytvořit pole dlouhé tak, jak si uživatel zadá (nebo cokoli jiného spočte), užij dynamickou alokaci:

    int velikost; int *pole;

    velikost = rand() % 1000; pole = new int[velikost];

    // pracuji s polem

    delete [] pole;
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    17.5.2006 22:35 pyty | skóre: 4 | Bardejov
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Dik, asi sa na vstup uživateľa vykašlem :) Ale aj tak by som to potreboval do kodu prijamo "naprogramovať". Keď sa dobre pamätám, malo by sa to dať ked dám pred kód # a teda to ešte spracuje preprocesor (zrejme pred kompiláciou).. Ako to funguje? To musím dať pred každý riadok # ? A môžem používať kompletnú syntax C++ ?
    Don't let the system get you down...
    17.5.2006 22:39 hm
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Proč neprogramujete v jazyku, který ovládáte (což C++ není, jinak byste se takhle neptal)?
    17.5.2006 22:44 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Proč nenapíšete, čeho vlastně chcete docílit? Mám neodbytný pocit, že to, co potřebujete, se dá daleko snadněji realizovat jinak, než krkolomnými (a víceméně neproveditelnými) konstrukcemi, o kterých mluvíte.
    17.5.2006 22:47 VB
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    jak uz kolega vyse zminoval.
    std::vector(JE_MENSI)vas_typ(JE_VETSI) jmeno_promene
    
    pole je potom samonafukovaci pokud pouzijete 
    
    jmeno_promene.push_back(value);
    jmeno_promene.insert(value);
    
    nebo jako klasicke pole:
    
    if (! (index < jmeno_promene.size()) )
      jmeno_promene.resize(index+1);
    jmeno_promene[index] = value;
    
    prochazet pole pak pomoci iteratoru
    
    vice o STL na www.builder.cz nebo primo sgi.com.

    je to rychle, elegantni a zpravidla dobre optimalizovane.

    VB
    18.5.2006 08:19 ondra
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Pokud potřebujete používat něco na způsob eval ze skriptovacích jazyků, tak obecně je asi nejjednodušší buď to napsat v nějakém skriptovacím jazyce nebo ten skriptovací jazyk zabudovat do C/C++ aplikace, což třeba se swigem není vůbec těžké.

    Ale jestli se jedná opravdu jenom o nějaká dynamická pole, tak výše zmíněné STL je naprosto jasná volba.
    elviin avatar 18.5.2006 09:03 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    To mi prijde komicky a zaroven i pekny, jak se tolik lidi snazi nekomu pomoci, obrazne dokopat k reseni. A ten nekdo zaroven absolutne nema sajn, jak to udelat:) A pak se rika, ze se lidi na forech nechtej venovat otrepanym problemum.
    18.5.2006 10:43 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    A ten nekdo zaroven absolutne nema sajn, jak to udelat:)
    To není ten problém, kdyby to věděl, tak se neptá. Potíž je v tom, že my ani nevíme co chce vlastně udělat.
    Popište příznaky problému, nikoli vlastní dohady
    Jak se správně ptát
    V tomto případě platí na 110%.
    When your hammer is C++, everything begins to look like a thumb.
    18.5.2006 14:51 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Existují případy, kdy má dynamické generování kódu smysl. Ty ale tvoří tak maximálně 1% (jediné co mě napadá jsou ochrany proti cracknutí a AOP). Zbylých 99% patří na www.thedailywtf.com (pár zajímavých příkladů tam je, hlavně v Javascriptu, PHP a SQL/PL).
    18.5.2006 15:24 Michal
    Rozbalit Rozbalit vše Re: C++ - vystup do kódu?
    Hmm, ja jsem to popravde nedavno delal. Potreboval jsem v c# vycislovat funkci zadanou uzivatelem. C# umi zkompilovat za behu kus kodu klidne i umisteneho v retezci a pak ho pripojit k bezicimu programu. Prislo mi to jak o docela schudne reseni. Urcite lepsi nez psat pul roku parser a vyhodnocovac vyrazu co disponuje silou toho, co je obsazeno v prekladaci...

    Dale se skladani kodu za behu dela bezne ve video kodecich coz prinasi nezanedbatelne urychleni protoze se "vyrobi" za behu kodek presne pro dany pripad a nemusi se kod porad vetvit v zavislosti jaky se zrovna pouziva barevny model atd. Je tam proste prilis hodne kombinaci.

    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.