Foi aprovado por unanimidade pelo comitê ISO o novo padrão do C++, o C++11, anteriormente chamado de C++x0. O “11” vem de 2011. O último padrão do C++ é de 1998.
Uma lista com os novos recursos pode ser vista aqui.
Era previsível, geralmente a coisa anda rápido após o final draft, que foi aprovado no mês passado.
Já estou ensinando C++0x nas aulas que dou na faculdade e na pós de jogos.
J
juliocbq
Legal mudarem para c++11. Assim fica padronizado como c90, c95 e c99. Já me atualizei também com o livro “The new C++”.
o engraçado é que a stl continua com a notação “all_is_lowercase”.
matheuslmota
Que livro é esse Julio?
Estou estudando C++ pela apostila da UFSC do professor André. Será que vou ter que desconsiderar essa apostila e pegar um livro que aborde o novo padrão?
ViniGodoy
matheuslmota:
Que livro é esse Julio?
Estou estudando C++ pela apostila da UFSC do professor André. Será que vou ter que desconsiderar essa apostila e pegar um livro que aborde o novo padrão?
Acho que não, a maioria dos recursos novos são um pouco mais avançados e você só vai compreende-los depois de vencer a sintaxe básica.
Você pode seguir pela apostila do André e depois só atualizar vendo as diferenças na wiki.
matheuslmota
ViniGodoy:
matheuslmota:
Que livro é esse Julio?
Estou estudando C++ pela apostila da UFSC do professor André. Será que vou ter que desconsiderar essa apostila e pegar um livro que aborde o novo padrão?
Acho que não, a maioria dos recursos novos são um pouco mais avançados e você só vai compreende-los depois de vencer a sintaxe básica.
Você pode seguir pela apostila do André e depois só atualizar vendo as diferenças na wiki.
O interessante é que tanto o Qt como o Visual Studio já aceitam C++0x
Vou atualizar os dois na minha máquina.
J
juliocbq
matheuslmota:
ViniGodoy:
matheuslmota:
Que livro é esse Julio?
Estou estudando C++ pela apostila da UFSC do professor André. Será que vou ter que desconsiderar essa apostila e pegar um livro que aborde o novo padrão?
Acho que não, a maioria dos recursos novos são um pouco mais avançados e você só vai compreende-los depois de vencer a sintaxe básica.
Você pode seguir pela apostila do André e depois só atualizar vendo as diferenças na wiki.
O interessante é que tanto o Qt como o Visual Studio já aceitam C++0x
Vou atualizar os dois na minha máquina.
Cara, se eu não me engano já enviei este livro para o viny também. Me passa seu email por msg privado que eu te envio.
Eu particularmente gostei dos lambdas, dos smart pointers, da API de threads, da possibilidade de chamar um construtor de outro, do for each, e da move semantics.
matheuslmota
Smart pointers é show, conheci eles em um tutorial no Ponto V e achei o conceito fantástico. É um ótimo recurso que a biblioteca padrão do C++ adotou.
J
juliocbq
o move foi uma sacada incrível. É sempre preferível mover endereços de memória que fazer deep copy nas variáveis( que acaba com o desempenho da aplicação) Tem um bench naquele livro que postei que mostra um ganho surpreendente no software.
matheuslmota
juliocbq:
o move foi uma sacada incrível. É sempre preferível mover endereços de memória que fazer deep copy nas variáveis( que acaba com o desempenho da aplicação) Tem um bench naquele livro que postei que mostra um ganho surpreendente no software.
Não entendi direito. Qual a diferença entre
Widget w1;
Widget w2(w1);
e
Widget w1;
Widget w2(std::move(w1));
?
Na segunda opção eu tenho apenas um valor, w1, para o qual w1 e w2 apontam, é isso?
J
juliocbq
matheuslmota:
juliocbq:
o move foi uma sacada incrível. É sempre preferível mover endereços de memória que fazer deep copy nas variáveis( que acaba com o desempenho da aplicação) Tem um bench naquele livro que postei que mostra um ganho surpreendente no software.
Não entendi direito. Qual a diferença entre
Widget w1;
Widget w2(w1);
e
Widget w1;
Widget w2(std::move(w1));
?
Na segunda opção eu tenho apenas um valor, w1, para o qual w1 e w2 apontam, é isso?
w2 recebe o endereço de memória de w1. Essa é a diferença. O move te permite criar um esquema de memória compartilhada.
matheuslmota
juliocbq:
matheuslmota:
juliocbq:
o move foi uma sacada incrível. É sempre preferível mover endereços de memória que fazer deep copy nas variáveis( que acaba com o desempenho da aplicação) Tem um bench naquele livro que postei que mostra um ganho surpreendente no software.
Não entendi direito. Qual a diferença entre
Widget w1;
Widget w2(w1);
e
Widget w1;
Widget w2(std::move(w1));
?
Na segunda opção eu tenho apenas um valor, w1, para o qual w1 e w2 apontam, é isso?
w2 recebe o endereço de memória de w1. Essa é a diferença. O move te permite criar um esquema de memória compartilhada.