Oitavo Encontro de Programadores C & C++Vinicius Jarina: Integrando Lua e C++Gianni Rossi: Desenvolvendo aplicações multi-plataformas em C++ para iOS e Android (NDK)Rodrigo Strauss: C++11: Do que se trata e como ele vai facilitar a sua vidaRodrigo Kumpera: Modelos de memória e porque você precisa saber dissoMarcelo Zimbres Silva: O framework ROOT: Não apenas para físicos.
C++11Rodrigo Strausswww.1bit.com.br@rodrigostrauss
Eu, eu e euMantenho o site www.1bit.com.br, onde escrevo sobre C++Co-Fundador do grupo C & C++ Brasil e owner da listaSócio Programador da www.intelitrader.com.brServer side is my sideUso C++ porque resolve meus problemas, uso bastante Python tambémmercado financeiro  segurança da informação  mercado financeiro  segurança da informação  .NET  segurança da informação  mercado financeiroWindows ou Linux? Eu fico com os dois, porque ainda não estudei BSD ou Solaris.
Motivo do C++11Facilidades de linguagens modernasFacilidade para ensinoMelhorias na biblioteca padrãoAcabar com “gambiarras” do Boostlambdaassertbind
AdoçãoGCCVisual C++ 2010Intel CMais detalhes em http://wiki.apache.org/stdcxx/C++0xCompilerSupportBibliotecas TR11threadshared_ptrregextuplearrayunordered_map (hash table)
LambdaPossibilidade de criar funções anônimasMuito útil para algoritmosBoost bind nunca mais!Até onde eu sei, a implementação mais, digamos, detalhadaEspecificação de captura e escopofor_each(v.begin(), v.end(), [](string a) {cout << a;});
NullptrConstante para ponteiro nulo, e não mais um #define NULL 0Resolve o problema de overload de funções para int ou xpto*
Auto e decltypeautoDeduz o tipo da variável pelo tipo da expressão rvalue na atribuiçãoauto a = 10;for(auto i = v.begin() ; i != v.end() ; ++i);decltype(a) b;
Nova sintaxe para declarar funçõesTipo de retorno depois da funçãoauto func(int a, int b) -> int { return a + b; }Útil para templatestemplate<typename T>auto func(T a, T b) -> decltype(a+b) { return a + b; }
Fuções de uma classesdeletedefaultfinalOverride
Rvalue referencePossibilita mover um rvalueAumenta performance por remover cópias
static_assertChecar condições em tempo de compilaçãoÚtil para programação com templates
E muito maisVariadic TemplatesString literalsUtf8 (u8), utf16 (u) e utf32 (U)Enum tipadoSintaxe para inicialização uniformeConstructor delegateRange based loopoverride e finalsizeof(SomeType::member);“Isso não é um shift!”Template aliasUnrestricted unions
You Win. Flawless Victory. Fatality
C++11

C++11

  • 1.
    Oitavo Encontro deProgramadores C & C++Vinicius Jarina: Integrando Lua e C++Gianni Rossi: Desenvolvendo aplicações multi-plataformas em C++ para iOS e Android (NDK)Rodrigo Strauss: C++11: Do que se trata e como ele vai facilitar a sua vidaRodrigo Kumpera: Modelos de memória e porque você precisa saber dissoMarcelo Zimbres Silva: O framework ROOT: Não apenas para físicos.
  • 2.
  • 3.
    Eu, eu eeuMantenho o site www.1bit.com.br, onde escrevo sobre C++Co-Fundador do grupo C & C++ Brasil e owner da listaSócio Programador da www.intelitrader.com.brServer side is my sideUso C++ porque resolve meus problemas, uso bastante Python tambémmercado financeiro  segurança da informação  mercado financeiro  segurança da informação  .NET  segurança da informação  mercado financeiroWindows ou Linux? Eu fico com os dois, porque ainda não estudei BSD ou Solaris.
  • 4.
    Motivo do C++11Facilidadesde linguagens modernasFacilidade para ensinoMelhorias na biblioteca padrãoAcabar com “gambiarras” do Boostlambdaassertbind
  • 5.
    AdoçãoGCCVisual C++ 2010IntelCMais detalhes em http://wiki.apache.org/stdcxx/C++0xCompilerSupportBibliotecas TR11threadshared_ptrregextuplearrayunordered_map (hash table)
  • 6.
    LambdaPossibilidade de criarfunções anônimasMuito útil para algoritmosBoost bind nunca mais!Até onde eu sei, a implementação mais, digamos, detalhadaEspecificação de captura e escopofor_each(v.begin(), v.end(), [](string a) {cout << a;});
  • 7.
    NullptrConstante para ponteironulo, e não mais um #define NULL 0Resolve o problema de overload de funções para int ou xpto*
  • 8.
    Auto e decltypeautoDeduzo tipo da variável pelo tipo da expressão rvalue na atribuiçãoauto a = 10;for(auto i = v.begin() ; i != v.end() ; ++i);decltype(a) b;
  • 9.
    Nova sintaxe paradeclarar funçõesTipo de retorno depois da funçãoauto func(int a, int b) -> int { return a + b; }Útil para templatestemplate<typename T>auto func(T a, T b) -> decltype(a+b) { return a + b; }
  • 10.
    Fuções de umaclassesdeletedefaultfinalOverride
  • 11.
    Rvalue referencePossibilita moverum rvalueAumenta performance por remover cópias
  • 12.
    static_assertChecar condições emtempo de compilaçãoÚtil para programação com templates
  • 13.
    E muito maisVariadicTemplatesString literalsUtf8 (u8), utf16 (u) e utf32 (U)Enum tipadoSintaxe para inicialização uniformeConstructor delegateRange based loopoverride e finalsizeof(SomeType::member);“Isso não é um shift!”Template aliasUnrestricted unions
  • 14.
    You Win. FlawlessVictory. Fatality