Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com sintaxe em c++


JeanAlves

Pergunta

Estou aprendendo a programar em c++ e a utilizar o boost com um amigo meu, e já faz um bom tempo que ando garimpando a internet para entender do que se trata ou como é chamado isso que acontece nesse código, meu amigo também não sabe do que se trata isso, não tenho certeza se é algo do framework boost ou coisa do gênero. Por favor me ajudem, agradeço desde já.

Preciso saber o que essa linha aqui faz e como se chama isso em c++:

[this](boost::system::error_code ec, std::size_t /*length*/)

Código completo:

void do_write()
	{
		boost::asio::async_write(socket_,
			boost::asio::buffer(write_msgs_.front().data(),
				write_msgs_.front().length()),
				[this](boost::system::error_code ec, std::size_t /*length*/) //Aqui começa a minha duvida
				{
					if (!ec)
					{
						write_msgs_.pop_front();
						if (!write_msgs_.empty())
						{
							do_write();
						}
					}
					else
					{
						socket_.close();
					}
				});//E aqui termina a minha duvida
	}

 

Editado por JeanAlves
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
8 horas atrás, JeanAlves disse:

[this](boost::system::error_code ec, std::size_t /*length*/) //Aqui começa a minha duvida { if (!ec) { write_msgs_.pop_front(); if (!write_msgs_.empty()) { do_write(); } } else { socket_.close(); } });//E aqui termina a minha duvida

O nome disso é Lambda ou também conhecida como "funções anônimas" e faz parte do padrão C++11.
Aqui você pode ler ao respeito http://cppmoderno.blogspot.com.es/2012/04/funcoes-lambda-em-c-mais-fundo.html

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...