Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

MVP ShowCast 2013

C++11 e C+...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Grupo C & C++ Brasil
♦Nasceu ...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Eu, eu e eu
♦ Escovador de bi...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

wanderley at caloni at low le...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

O que é o C++?
♦Linguagem der...
SESSÃO: DESENVOLVIMENTO

Características
♦Tipagem estática
♦Genérica
♦Compatível com linguagem C
♦Compilada
♦Gerenciamento...
SESSÃO: DESENVOLVIMENTO

Sistemas alvo
♦System Programming
♦Embarcados
♦Softwares de prateleira
♦Server side

© 2013, MVP ...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

De onde viemos?

Fortran
Cobo...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++ é portável? Mas e o Java ...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

STL
♦Biblioteca padrão do C++...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++ sem STL é C com classes
♦...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Boost
♦Conjunto de biblioteca...
SESSÃO: DESENVOLVIMENTO

Versões do C++
♦C++84
♦C++98
♦C++03
♦C++11 (antes chamada de C++0x)
♦C++14

© 2013, MVP ShowCast....
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++84
♦C com classes
♦Primeir...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++98
♦Primeira versão padron...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++03
♦Correção de bugs no pa...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++TR1
♦TR1 = Technical Repor...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++11
♦Primeiro grande avanço...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

C++14
♦Correções e pequenas m...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Auto e decltype
♦auto

♦ Dedu...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Auto
C++98

C++11

map<int,st...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Uniform Initialization and De...
SESSÃO: DESENVOLVIMENTO

Inicialização
class class_d {
public:
float m_float;

string m_string;
wchar_t m_char;
};
int mai...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Nova sintaxe para funções e d...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Initializer lists
C++98

C++1...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Lambda
♦Possibilidade de cria...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Lambda
C++98

C++11

vector<i...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Nullptr
♦Constante para ponte...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Nova sintaxe para declarar fu...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Funções de uma classes
♦delet...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Rvalue reference
♦Possibilita...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Move semantics e Rvalue refer...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Move Semantics
class Matrix {...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

static_assert
♦Checar condiçõ...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Range-based for-loop
C++98

C...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

shared_ptr
C++98

C++11

widg...
SESSÃO: DESENVOLVIMENTO

E muito mais
♦ Variadic Templates
♦ String literals

♦ Utf8 (u8), utf16 (u) e utf32 (U)

• Enum t...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Compatibilidade do Visual C++...
SESSÃO: DESENVOLVIMENTO

TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO

Perguntas & Respostas

© 2013...
Upcoming SlideShare
Loading in …5
×

C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação]

2,160 views

Published on

Palestra: C++11 e C++14 no Visual Studio 2013
Palestrante: Rodrigo Strauss
Realização: 10/12/2013 17h
Trilha: Ferramentas de desenvolvimento & Linguagens de programação
Sessão: Desenvolvimento
Evento: MVP ShowCast 2013
Site: http://mvpshowcast.azurewebsites.net

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy &amp; Proven Way to Build Good Habits &amp; Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação]

  1. 1. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO MVP ShowCast 2013 C++11 e C++14 no Visual Studio 2013 Rodrigo Strauss Visual C++ Sócio Gerente – Intelitrader @rodrigostrauss © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  2. 2. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Grupo C & C++ Brasil ♦Nasceu da vontade de conhecer outras áreas de uso para C & C++ ♦Grupo de entusiastas/aficcionados ♦Aberto à todos ♦Organiza eventos para reunir profissionais, estudantes, e entusiasta ♦Grupo mais multilinguagem que eu conheço ♦groups.google.com/group/ccppbrasil/ ♦#ccppbrasil © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  3. 3. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Eu, eu e eu ♦ Escovador de bits ♦ Sócio Programador da Intelitrader ♦ Server side is my side ♦ Uso C++ porque resolve meus problemas, uso bastante Python também ♦ mercado financeiro  segurança da informação  mercado financeiro  segurança da informação  .NET  segurança da informação  mercado financeiro ♦ Windows ou Linux? Fico com os dois, porque ainda não estudei BSD ou Solaris ♦ Três projetos Open Source egoístas: OmniObjects, Tio e Primo ♦ @rodrigostrauss © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  4. 4. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO wanderley at caloni at low level ♦Cofundador do grupo C & C++ Brasil ♦Programador entusiasta (Basic YES!): 1 ano ♦C/C++ Maniac: 2 anos ♦Segurança da Informação: 10 anos ♦Mercado Financeiro: 1 ano © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  5. 5. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO O que é o C++? ♦Linguagem derivada do C, adicionando os seguintes recursos: ♦ Orientação à objeto (classes) ♦ Exceções ♦ Templates © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  6. 6. SESSÃO: DESENVOLVIMENTO Características ♦Tipagem estática ♦Genérica ♦Compatível com linguagem C ♦Compilada ♦Gerenciamento de memória manual ♦Previsível ♦30 anos de uso e refinamento ♦Performance ♦Compatibilidade © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO
  7. 7. SESSÃO: DESENVOLVIMENTO Sistemas alvo ♦System Programming ♦Embarcados ♦Softwares de prateleira ♦Server side © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO
  8. 8. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO De onde viemos? Fortran Cobol Simula Java C++ Assembler BCPL © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. C C++11 C# 8
  9. 9. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++ é portável? Mas e o Java e C#? ♦Só citarei nomes: ♦ Qt/KDE ♦ Firefox ♦ Windows, Microsoft Office, SQL Server, Visual Studio, praticamente tudo vindo da MS ♦ Photoshop (que usa Boost) ♦ 99% dos jogos para computador e consoles. DirectX ♦ VMs do Java e .NET © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  10. 10. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO STL ♦Biblioteca padrão do C++ ♦Dividida em ♦ Containers (vector, map, list) ♦ Interator ♦ Abstração para acessar e percorrer itens de um container de maneira uniforme ♦ Algoritmos (find, sort) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  11. 11. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++ sem STL é C com classes ♦E C++ sem Boost é C+=0.5f... ♦Java/C#/Python/[coloque-algo-aqui] são bons mas... ♦ Eu quero continuar usando C++. Me chame de masoquista se quiser ♦ Eu preciso de controle total, inclusive na alocação da memória ♦ Tudo que a minha empresa fez já está em C++ ♦ Preciso de algo multiplataforma de verdade © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  12. 12. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Boost ♦Conjunto de bibliotecas feitas pela comunidade (mais de 100) ♦Supre a necessidade de um Frameword ou Class Library abrangente, como as existente no C#, Java, Python, etc ♦Vários domínios ♦ Regex ♦ Asio (rede) ♦ FileSystem ♦ Metaprogramação ♦ Gerenciamento de memória (shared_ptr) ♦ Containers ♦ Comunicação entre processos © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  13. 13. SESSÃO: DESENVOLVIMENTO Versões do C++ ♦C++84 ♦C++98 ♦C++03 ♦C++11 (antes chamada de C++0x) ♦C++14 © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO
  14. 14. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++84 ♦C com classes ♦Primeira implementação foi feita como um préprocessador C ♦Feita por Bjarne Stroustrup, pesquisador da AT&T © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  15. 15. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++98 ♦Primeira versão padronizada pela ISO ♦Contém as características principais, como classes e STL © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  16. 16. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++03 ♦Correção de bugs no padrão ♦Nenhuma funcionalidade nova, basicamente um bugfix do padrão C++98 © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  17. 17. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++TR1 ♦TR1 = Technical Report ♦Proposta para adiconar mais bibliotecas à STL ♦ std::function ♦ Tuplas ♦ Hash Tables (unordered_map) ♦ std::array ♦ Regex ♦Basicamente uma proposta para adicionar bibliotecas do Boost ao padrão C++ © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  18. 18. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++11 ♦Primeiro grande avanço da linguagem desde sua padronização ♦Uma tonelada de recursos foram adicionados à linguagem ♦Facilidades de linguagens modernas ♦Facilidade para ensino ♦Melhorias na biblioteca padrão ♦Acabar com “gambiarras” do Boost ♦ lambda ♦ assert ♦ bind © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  19. 19. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO C++14 ♦Correções e pequenas melhorias no padrão C++11 ♦ Lambdas genéricos ♦ Melhorias na dedução de tipos ♦ User defined literal para tipos da STL ♦ auto s = s”Bom dia José Arroela”; // isso é uma string STL © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  20. 20. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Auto e decltype ♦auto ♦ Deduz o tipo da variável pelo tipo da expressão rvalue na atribuição for(auto i = v.begin() ; i != v.end() ; ++i) {} auto a = 10; decltype(a) b; int x; double y; decltype(x + y) z; template <typename T, typename U> auto Add (T const & a, U const & b) -> decltype(a + b) { return a + b; } © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  21. 21. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Auto C++98 C++11 map<int,string>::iterator i = m.begin(); double const xlimit = config["xlimit"]; singleton& s = singleton::instance(); auto i = begin(m); auto const xlimit = config["xlimit"]; auto& s = singleton::instance(); binder2nd<greater> x = bind2nd( greater(), 42 ); auto x = [](int i) { return i > 42; }; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  22. 22. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Uniform Initialization and Delegating Constructors #include <string> int main() using namespace std; { class_a c1{}; class_a c1_1; class class_a { public: class_a c2{ "ww" }; class_a() {} class_a c2_1("xx"); class_a(string str) : m_string{ str } {} class_a(string str, double dbl) : m_string{ str }, m_double{ dbl } {} // order of parameters is the same as the constructor double m_double; class_a c3_1("zz", 5.5); string m_string; }; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. class_a c3{ "yy", 4.4 }; }
  23. 23. SESSÃO: DESENVOLVIMENTO Inicialização class class_d { public: float m_float; string m_string; wchar_t m_char; }; int main() { class_d d1{}; class_d d1{ 4.5 }; class_d d2{ 4.5, "string" }; class_d d3{ 4.5, "string", 'c' }; class_d d4{ "string", 'c' }; // erro de compilação class_d d5("string", 'c', 2.0 }; // erro de compilação } © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO
  24. 24. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Nova sintaxe para funções e decltype template <typename Builder> auto makeAndProcessObject (const Builder& builder) -> decltype( builder.makeObject() ) { auto val = builder.makeObject(); // modifica o val return val; } © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  25. 25. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Initializer lists C++98 C++11 rectangle w( origin(), extents() ); complex<double> c ( 2.71828, 3.14159 ); int a[] = { 1, 2, 3, 4 }; vector<int> v; for( int i = 1; i <= 4; ++i ) v.push_back(i); rectangle w { origin(), extents() }; complex<double> c { 2.71828, 3.14159 }; int a[] { 1, 2, 3, 4 }; vector<int> v { 1, 2, 3, 4 }; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  26. 26. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Lambda ♦Possibilidade de criar funções anônimas ♦Muito útil para algoritmos ♦Boost bind nunca mais! ♦Até onde eu sei, a implementação mais, digamos, detalhada ♦ Especificação de captura e escopo for_each( v.begin(), v.end(), [](string a) {cout << a;}); © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  27. 27. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Lambda C++98 C++11 vector<int>::iterator i = v.begin(); for( ; i != v.end(); ++i ) { if( *i > min && *i < max ) break; } auto min = 10; auto max = 20; auto i = find_if( begin(v), end(v), [=](int i) { return i > min && i < max; } ); © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  28. 28. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Nullptr ♦Constante para ponteiro nulo, e não mais um #define NULL 0 ♦Resolve o problema de overload de funções para int ou xpto* void f(void*); void f(int); // … f(NULL); // chama a f(int) f(nullptr); // chama a f(void*) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  29. 29. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Nova sintaxe para declarar funções ♦Tipo de retorno depois da função ♦auto func(int a, int b) -> int { return a + b; } ♦Útil para templates template<typename T> auto func(T a, T b) -> decltype(a+b) { return a + b; } © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  30. 30. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Funções de uma classes ♦delete ♦default ♦final ♦override © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  31. 31. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Rvalue reference ♦Possibilita mover um rvalue ♦Aumenta performance por remover cópias © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  32. 32. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Move semantics e Rvalue references ♦ Possibilita descobrir quando um objeto é temporário e mover os dados ao invés de copiar. ♦ Usa nova sintaxe de referência Matrix operator+(const Matrix& a, const Matrix& b) { Matrix r; // copia os itens de a e b para a matriz r return r; } Matrix res = a+b; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  33. 33. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Move Semantics class Matrix { Representation rep; Matrix(Matrix&& a) // move constructor { rep = a.rep; // “rouba” os elementos da matriz a a.rep = {}; // zera a matrix temporária } }; Matrix res = a+b; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  34. 34. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO static_assert ♦Checar condições em tempo de compilação ♦Útil para programação com templates © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  35. 35. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Range-based for-loop C++98 C++11 for( vector<int>::iterator i = v.begin(); i != v.end(); ++i ) { total += *i; } for( auto d : v ) { total += d; } sort( v.begin(), v.end() ); sort( &a[0], &a[0] + sizeof(a)/sizeof(a[0]) ); sort( begin(v), end(v) ); sort( begin(a), end(a) ); © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  36. 36. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO shared_ptr C++98 C++11 widget* pw = new widget(); delete pw; auto pw = make_shared<widget>(); class node { vector<node*> children; node* parent; class node { vector<unique_ptr<node>> children; node* parent; © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  37. 37. SESSÃO: DESENVOLVIMENTO E muito mais ♦ Variadic Templates ♦ String literals ♦ Utf8 (u8), utf16 (u) e utf32 (U) • Enum tipado ♦ Sintaxe para inicialização uniforme ♦ Constructor delegate ♦ sizeof(SomeType::member); ♦ “Isso não é um shift!” ♦ Template alias ♦ Unrestricted unions © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO
  38. 38. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Compatibilidade do Visual C++ 2013 ♦Quase tudo do C++11 ♦ Mas não suporta tudo, o que tem causado críticas da comunidade ♦Algumas coisas de C++14 ♦ O padrão ainda não saiu, então o time do Visual C++ está implementando as coisas que faltaram no C++11, como make_unique ♦ Tabela extensiva em: ♦ http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  39. 39. SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Perguntas & Respostas © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

×