.[ ČeskéHry.cz ].
Prednaska o tom ake je C++11 uzasne

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Novinky / Zprávičky
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 18. listopad 2011, 21:44:55    Předmět: Prednaska o tom ake je C++11 uzasne Odpovědět s citátem

http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T Twisted Evil
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Tringi



Založen: 28. 07. 2007
Příspěvky: 289

PříspěvekZaslal: 18. listopad 2011, 21:48:44    Předmět: Odpovědět s citátem

Herb Sutter je hodně dobrej Cool
_________________
WWW | GitHub | TW
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 30. listopad 2011, 20:43:56    Předmět: Odpovědět s citátem

som si dneska povedal ze vyskusam si pracu s nejakymi ficurkami z noveho C++11. tak som si naimplementoval jednoduchu triedu na signaly a sloty. by ma zaujimalo ci je to prelozitelne aj v najnovsom MSVC
kód:

template<typename ... P>
class FunctionCall
{
    public:
    virtual void call(P...par)=0;
};

template<typename T, typename ... P>
class FunctionCallT : public FunctionCall<P...>
{
    T *o;
    void (T::*f)(P...);
    public:
    FunctionCallT(T &obj, void (T::*fun)(P...))
    {
        o = &obj;
        f = fun;
    }
    void call(P...par)
    {
        (o->*f)(par...);
    }
};

template <typename...P>
class Signal
{
    map<void *,unique_ptr<FunctionCall<P...>>> cal;
    public:
    template<typename T>
    void connect(T &o, void (T::*f)(P...))
    {
        cal[&o] = unique_ptr<FunctionCallT<T, P...>>(new FunctionCallT<T, P...>(o, f));
    }
    void disconnect(void *o)
    {
        cal.erase(o);
    }
    void operator()(P...par)
    {
        for(auto &i : cal)
            i.second->call(par...);
    }
};


cely kod: http://nopaste.ceske-hry.cz/223400
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1823

PříspěvekZaslal: 1. prosinec 2011, 10:06:57    Předmět: Odpovědět s citátem

Este nie som s novou syntaxou oboznameny, ale:
ClCompile napsal:
error C2143: syntax error : missing ',' before '...'

na:
kód:
template<typename T, typename ... P>

Ta elipsa (tri bodky, ?) sa mu tam nepaci. MSVC 2010 bez SP.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 1. prosinec 2011, 17:40:37    Předmět: Odpovědět s citátem

hmm chvilka googlenia a vyzera to ze VS2010 zatial nepodporuje variadic templates. mozno s tym SP1 ano.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 1. prosinec 2011, 21:09:34    Předmět: Odpovědět s citátem

nou: Na VS 2010 SP1 to same... jedine ze by se muselo nekde neco povolit (nebo pouzit nejaky prepinac...).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 1. prosinec 2011, 22:33:50    Předmět: Odpovědět s citátem

na gcc sa to musi povolit cez -std=c++0x

ale z C++11 je napriklad unique_ptr<> a for(auto &i : vec); takze ak zoberie to tak je C++11 povolene.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 4. prosinec 2011, 19:33:07    Předmět: Odpovědět s citátem

nou napsal:
hmm chvilka googlenia a vyzera to ze VS2010 zatial nepodporuje variadic templates. mozno s tym SP1 ano.


Podle tohohle nebude variadic templates podporovat ani VC11. Ale lidi začli dost řvát, tak třeba si to ještě MS rozmyslí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 4. prosinec 2011, 20:09:44    Předmět: Odpovědět s citátem

no vyzera to ze GCC ma najkompletnejsiu podporu pre C++11 http://wiki.apache.org/stdcxx/C++0xCompilerSupport
ICC ma zopar feture navyse oproti MSVC.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Novinky / Zprávičky Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna