Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
highlevel:c:advancing [2008/09/14 20:41] alfred |
highlevel:c:advancing [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 320: | Línea 320: | ||
| - | ===== [More] Effective C++ ===== | ||
| - | ==== Effective C++ ==== | ||
| - | === Evitar macros === | ||
| - | Para definir constantes no utilizaremos ''#define'' sino ''const'', es preferible el procesador al pre-procesador. \\ | ||
| - | Para los arrays de chars utilizaremos la siguiente notación: | ||
| - | <code cpp>const char * const authorName = "Scott Meyers"; | ||
| - | </code> | ||
| - | En las clases definiremos las constantes como ''static''. \\ | ||
| - | También preferiremos declarar las macros como funciones ''inline'' a hacerlas con los ''#define''. | ||
| - | |||
| - | === Es preferible iostream a stdio.h === | ||
| - | Es decir, es preferible el ''cout'' o el ''cin'' al ''printf'' o ''getch''. \\ | ||
| - | Remarcar también que incluir ''iostream'' es distinto a incluir ''iostream.h'', esta segunda contiene las funciones como globales en vez de estar dentro de los namespaces, llevando a poder provocar algún error de nombres. | ||
| - | |||
| - | === Utilizar new y delete === | ||
| - | El preferible utilizar los ''new'' y ''delete'' en vez del ''malloc'' y el ''free''. \\ | ||
| - | Es importante entender que al hacer un array debe llamarse al ''delete'' como ''delete []''. | ||
| - | <code cpp> | ||
| - | string *stringPtr2 = new string[100]; | ||
| - | |||
| - | delete [] stringPtr2; | ||
| - | </code> | ||
| - | Cuando creamos un puntero nulo lo inicializaremos como 0, no como ''NULL''. \\ | ||
| - | Llamaremos a los delete a los punteros miembros de una clase dentro del destructor de esta. | ||
| - | |||
| - | ==== More Effective C++ ===== | ||
| + | ===== [More] Effective C++ ===== | ||
| + | * [[highlevel:c:effective|[More] Effective C++]] | ||