Do macro ao template

Uma coisa que gera discussões acirradas dentre as pessoas nestes tempos mais modernos do C++ é o uso de macros.

Dentre os argumentos contra as macros estão os de que o uso de macros leva a criação de uma nova linguagem (o que é bem verdade quando usado sem moderação).

Quando se está desenvolvendo em C muitas coisas acabam sendo feitas usando macro por não termos estruturas genéricas para resolver problemas.

Continuar lendo

Construtor e Operador =

Constructors e operador =

É bem comum que as pessoas não entendam e nem saibam a razão de existir o copy/move constructor e assignment operator.
Por padrão, classes no C++ são do tipo value_type. Isso faz com que ao atribuir algo a uma variável de classe, uma cópia de ponteiros não possa ser feita pela classe estar localizada na stack.
O operador de cópia e movimentação faz com que não sejam gastos ciclos desnecessários pelo programa.

Continuar lendo