Articles of boost

Como usar o boost bind com uma function de membro

O código a seguir faz com que cl.exe falhe (MS VS2005). Eu estou tentando usar binding de impulso para criar uma function para um método de chamadas myclass: #include “stdafx.h” #include #include #include class myclass { public: void fun1() { printf(“fun1()\n”); } void fun2(int i) { printf(“fun2(%d)\n”, i); } void testit() { boost::function f1( boost::bind( […]

Devemos passar um shared_ptr por referência ou por valor?

Quando uma function deve ter um shared_ptr (do boost ou do C ++ 11 STL), você está passando por const referência: void foo(const shared_ptr& p) ou por valor: void foo(shared_ptr p) ? Eu preferiria o primeiro método porque suspeito que seja mais rápido. Mas isso realmente vale a pena ou há algum problema adicional? Você […]

É inteligente replace boost :: thread e boost :: mutex com c ++ 11 equivalentes?

Motivação: pelo que estou considerando é que meu genial gerente de projeto acha que boost é outra dependência e que é horrível porque “você depende disso” (tentei explicar a qualidade do boost, depois desisti depois de algum tempo 🙁 Menor razão pela qual eu gostaria de fazer é que eu gostaria de aprender os resources […]

Por que replace o operador ()?

Na biblioteca Boost Signals , eles estão sobrecarregando o operador (). Isso é uma convenção em C ++? Para retornos de chamada, etc. Eu vi isso no código de um colega de trabalho (que por acaso é um grande fã do Boost). De toda a bondade do Boost, isso só me confundiu. Alguma idéia da […]

Por que a std :: function não é igualitária?

Esta questão também se aplica a boost::function e std::tr1::function . std::function não é igualdade comparável: #include void foo() { } int main() { std::function f(foo), g(foo); bool are_equal(f == g); // Error: f and g are not equality comparable } Em C ++ 11, o operator== e operator!= Sobrecargas simplesmente não existem. Em um rascunho […]

Qual é a sobrecarga de desempenho do std :: function?

Eu ouvi em um fórum usando std::function causa queda de desempenho. É verdade? Se for verdade, é uma grande queda de desempenho?

Como faço para classificar um std :: vector pelos valores de um std :: vector diferente?

Eu tenho vários std::vector , todos do mesmo tamanho. Eu quero classificar um desses vetores e aplicar a mesma transformação a todos os outros vetores. Existe uma maneira legal de fazer isso? (preferencialmente usando o STL ou Boost)? Alguns dos vetores mantêm int s e alguns deles std::string s. Pseudo-código: std::vector Index = { 3, […]

Classificação de contêineres compactados (bloqueados) em C ++ usando boost ou o STL

O que eu quero fazer: eu quero ordenar 2, ou 3 ou N vetores, juntos, sem copiá-los em uma tupla. Ou seja, deixando a verbosidade de lado, algo como: vector v1 = { 1, 2, 3, 4, 5}; vector v2 = { 11, 22, 33, 44, 55}; vector v3 = {111, 222, 333, 444, 555}; […]

Qual é a utilidade de `enable_shared_from_this`?

Eu corri em enable_shared_from_this ao ler os exemplos Boost.Asio e depois de ler a documentação ainda estou perdido de como isso deve ser usado corretamente. Alguém por favor pode me dar um exemplo e / ou uma explicação de quando usar esta class faz sentido.

Obtenha o caminho do executável

Eu sei que essa pergunta já foi feita antes, mas ainda não vi uma resposta satisfatória, ou um definitivo “não, isso não pode ser feito”, então vou perguntar de novo! Tudo o que quero fazer é obter o caminho para o executável atualmente em execução, seja como um caminho absoluto ou relativo ao local de […]