Perguntas com a marcação «operator-overloading»

A sobrecarga de operador é um recurso de uma linguagem de programação que permite implementações personalizadas para operadores, dependendo dos tipos de operandos envolvidos. Alguns idiomas permitem que novos operadores sejam definidos, enquanto outros permitem apenas a redefinição dos existentes.



10
Recipientes C ++ STL com impressão bonita
Observe as atualizações no final deste post. Atualização: eu criei um projeto público no GitHub para esta biblioteca! Gostaria de ter um único modelo que, de uma vez por todas, cuide da impressão bonita de todos os contêineres STL via operator<<. No pseudo-código, estou procurando algo parecido com isto: template<container …

15
== e! = São mutuamente dependentes?
Estou aprendendo sobre a sobrecarga de operadores em C ++ e vejo isso ==e !=são simplesmente algumas funções especiais que podem ser personalizadas para tipos definidos pelo usuário. Minha preocupação é, porém, por que são necessárias duas definições separadas ? Eu pensei que se a == bé verdade, então a …






6
Sobrecarga de operador com métodos de extensão C #
Estou tentando usar métodos de extensão para adicionar uma sobrecarga de operador à StringBuilderclasse C # . Especificamente, StringBuilder sbeu gostaria de sb += "text"me tornar equivalente a sb.Append("text"). Aqui está a sintaxe para criar um método de extensão para StringBuilder: public static class sbExtensions { public static StringBuilder blah(this …



9
Existe realmente uma razão pela qual sobrecarregado && e || não curto-circuito?
O comportamento em curto-circuito dos operadores &&e ||é uma ferramenta incrível para programadores. Mas por que eles perdem esse comportamento quando sobrecarregados? Entendo que os operadores são apenas açúcar sintático para funções, mas os operadores booltêm esse comportamento. Por que deveria ser restrito a esse tipo único? Existe algum raciocínio …

5
Sobrecarregando operadores de acesso a membros ->,. *
Eu entendo mais sobrecarga de operadores, com excepção dos operadores de acesso membro ->, .*, ->*etc. Em particular, o que é passado para essas funções do operador e o que deve ser retornado? Como o operador funciona (por exemplo operator->(...)) sabe a que membro está sendo referido? Ele pode saber? …

8
O operador << deve ser implementado como amigo ou como membro?
Essa é basicamente a questão: existe uma maneira "correta" de implementar operator&lt;&lt;? Lendo isso , vejo que algo como: friend bool operator&lt;&lt;(obj const&amp; lhs, obj const&amp; rhs); é preferível a algo como ostream&amp; operator&lt;&lt;(obj const&amp; rhs); Mas não consigo entender por que devo usar um ou outro. Meu caso pessoal …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.