1. Inicializar clases
Inicializar las properties de las clases. La inicialización de las clases, se hacen despues de crear las clases contenidas. Es decir, si tenemos una clase A que contiene una clase B y una C, en el momento que creamos la clase A, antes de considerarse creada, se han creado las clases B y C. Asi, si creamos la clase player : tenemos que primero se crea los strings m_Name y m_Profesion y despues entramos en el codigo del constructor. Por eso este código:
class Player
{
public:
Player(const std::string &name)
{
m_Nombre = name;
}
private:
std::string m_Nombre;
std::string m_Profesion;
};
es mas lento que este
class Player
{
public:
Player(const std::string &name)
:m_Nombre(name)
{
}
private:
std::string m_Nombre;
std::string m_Profesion;
};
Porque en el primer caso, primero inicializamos m_Nombre a su valor por defecto y despues a 'name'
2. Crear y definir en la misma linea:
En vez de usar
int nPlayer;
nPlayer = 10;
Es mejor usar
int nPlayer = 10;
Por lo mismo que antes.
3. Mejor preincremento que post incremento:
Es mejor ++i que i++;
4. Sumas de variables:
Casi siempre es mejor
value3 += value2;
que
value3 = value2 + value1;
5. Crea las variables cuando toque:
No crees la variable al principio de la funcion, asi:
bool foo(CVehicle* veh)
{
CPlayer tempPlayer;
if (veh == NULL)
return false;
//.....
}
En este codigo, si veh es nulo, para que crear tempPlayer? Ni no se va a usar....