Publicado el 17 de Abril del 2021
1.352 visualizaciones desde el 17 de Abril del 2021
4,9 MB
918 paginas
Creado hace 6a (17/01/2019)
C++
#c++
Tabla de contenido
Acerca de
Capítulo 1: Empezando con C ++
Observaciones
Versiones
Examples
Hola Mundo
Análisis
Comentarios
Comentarios de una sola línea
C-Style / Block Comentarios
Importancia de los comentarios
Marcadores de comentario utilizados para deshabilitar el código
Función
Declaración de funciones
Llamada de función
Definición de la función
Sobrecarga de funciones
Parámetros predeterminados
Llamadas de Funciones Especiales - Operadores
Visibilidad de prototipos y declaraciones de funciones.
El proceso de compilación estándar de C ++.
Preprocesador
Capítulo 2: Administracion de recursos
Introducción
Examples
Adquisición de recursos es la inicialización
Mutexes y seguridad de rosca
Capítulo 3: Alcances
Examples
1
2
2
2
2
2
2
4
4
4
5
6
6
6
7
8
8
8
9
10
11
12
14
14
14
14
15
17
17
Alcance de bloque simple
Variables globales
Capítulo 4: Algoritmos de la biblioteca estándar
Examples
std :: for_each
std :: next_permutation
std :: acumular
std :: encontrar
std :: cuenta
std :: count_if
std :: find_if
std :: min_element
Usando std :: nth_element para encontrar la mediana (u otros cuantiles)
Capítulo 5: Alineación
Introducción
Observaciones
Examples
Consultar la alineación de un tipo.
Controlando la alineación
Capítulo 6: Archivo I / O
Introducción
Examples
Abriendo un archivo
Leyendo de un archivo
Escribiendo en un archivo
Modos de apertura
Cerrando un archivo
Flushing un arroyo
Leyendo un archivo ASCII en un std :: string
Leyendo un archivo en un contenedor
Leyendo un `struct` desde un archivo de texto formateado.
Copiando un archivo
17
17
19
19
19
19
20
22
23
24
26
27
29
30
30
30
30
30
31
32
32
32
32
33
35
36
37
38
38
39
40
41
¿Revisar el final del archivo dentro de una condición de bucle, mala práctica?
Escribir archivos con configuraciones locales no estándar
Capítulo 7: Archivos de encabezado
Observaciones
Examples
Ejemplo básico
Archivos fuente
El proceso de compilación
Plantillas en archivos de encabezado
Capítulo 8: Aritmética de punto flotante
Examples
Los números de punto flotante son raros
Capítulo 9: Arrays
Introducción
Examples
Tamaño de matriz: tipo seguro en tiempo de compilación.
Matriz en bruto de tamaño dinámico
Expandiendo la matriz de tamaño dinámico usando std :: vector.
Una matriz de matriz sin formato de tamaño fijo (es decir, una matriz sin formato 2D).
Una matriz de tamaño dinámico utilizando std :: vector para almacenamiento.
Inicialización de matriz
Capítulo 10: Atributos
Sintaxis
Examples
[[sin retorno]]
[[caer a través]]
[[obsoleto]] y [[obsoleto ("motivo")]]
[[nodiscard]]
[[maybe_unused]]
Capítulo 11: auto
Observaciones
Examples
42
42
45
45
45
45
45
47
47
49
49
49
51
51
51
51
52
53
54
55
57
59
59
59
59
60
61
62
62
64
64
64
Muestra auto básica
Plantillas de auto y expresión
auto, const, y referencias
Tipo de retorno final
Lambda genérica (C ++ 14)
objetos de auto y proxy
Capítulo 12: Bucles
Introducción
Sintaxis
Observaciones
Examples
Basado en rango para
En bucle
Mientras bucle
Declaración de variables en condiciones.
Bucle Do-while
Declaraciones de control de bucle: romper y continuar
Rango-para sobre un sub-rango
Capítulo 13: Búsqueda de nombre dependiente del argumento
Examples
Que funciones se encuentran
Capítulo 14: C ++ Streams
Observaciones
Examples
Corrientes de cuerda
Leyendo un archivo hasta el final.
Leyendo un archivo de texto línea por línea
Líneas sin caracteres de espacios en blanco.
Líneas con caracteres de espacio en blanco.
Leyendo un archivo en un búfer a la vez
Copiando arroyos
Arrays
64
65
65
66
66
67
68
68
68
68
68
68
71
73
74
75
76
77
79
79
79
81
81
81
81
82
82
82
82
83
83
84
Imprimiendo colecciones con iostream
Impresión básica
Tipo implícito de reparto
Generación y transformación.
Arrays
Análisis de archivos
Análisis de archivos en contenedores STL
Análisis de tablas de texto heterogéneas
Transformación
Capítulo 15: Campos de bits
Introducción
Observaciones
Examples
Declaración y uso
Capítulo 16: Categorías de valor
Examples
Significados de la categoría de valor
prvalue
xvalor
valor
glvalue
valor
Capítulo 17: Clases / Estructuras
Sintaxis
Observaciones
Examples
Conceptos básicos de clase
Especificadores de acceso
Herencia
Herencia virtual
Herencia múltiple
84
84
84
85
85
86
86
86
87
88
88
88
89
89
91
91
91
91
92
92
93
93
95
95
95
95
95
96
97
99
101
Acceso a los miembros de la clase
Fondo
Herencia privada: restringiendo la interfaz de clase base
Clases finales y estructuras.
Amistad
Clases / Estructuras Anidadas
Tipos de miembros y alias
Miembros de la clase estatica
Funciones miembro no estáticas
Estructura / clase sin nombre
Capítulo 18: Clasificación
Observaciones
Examples
Clasificación de contenedores de secuencia con orden específico
Clasificación de contenedores de secuencia por sobrecargado menos operador
Clasificación de contenedores de secuencia utilizando la función de comparación
Ordenando los contenedores de secuencias usando expresiones lambda (C ++ 11)
Clasificación y secuenciación de contenedores.
clasificación con std :: map (ascendente y descendente)
Clasificación de matrices incorporadas
102
103
103
104
105
106
111
114
119
121
123
123
123
123
123
124
125
126
127
129
Capítulo 19: Comparaciones lado a lado de ejemplos clásicos de C ++ resueltos a través de 130
Examples
Buceando a través de un contenedor
Capítulo 20: Compilando y construyendo
Introducción
Observaciones
Examples
Compilando con GCC
Vinculación con bibliotecas:
Compilando con Visual C ++ (Línea de Comando)
Compilación con Visual Studio (interfaz gráfica) - Hello World
Compilando con Clang
130
130
132
132
132
132
132
134
134
138
145
Compiladores en linea
El proceso de compilación de C ++.
Compilando con Code :: Blocks (interfaz gráfica)
Capítulo 21: Comportamiento definido por la implementación
Examples
Char puede estar sin firmar o firmado
Tamaño de los tipos integrales.
Tamaño de char
Tamaño de los tipos enteros con signo y sin signo
Tamaño de char16_t y char32_t
Tamaño de bool
Tamaño de wchar_t
Modelos de datos
Número de bits en un byte
Valor numérico de un puntero
Rangos de tipos numéricos
Representación del valor de los tipos de punto flotante
Desbordamiento al convertir de entero a entero con signo
Tipo subyacente (y, por tanto, tamaño) de una enumeración
Capítulo 22: Comportamiento indefinido
Introducción
Observaciones
Examples
Leer o escribir a través de un puntero nulo.
No hay declaración de retorno para una función con un tipo de retorno no nulo
Modificar un literal de cadena
Accediendo a un índice fuera de límites
División entera por cero
Desbordamiento de enteros firmado
Usando una variable local sin inicializar
Múltiples definiciones no idénticas (la regla de una definición)
146
147
149
155
155
155
155
155
155
157
157
158
158
159
159
160
161
162
162
163
163
163
164
164
164
165
165
166
166
167
168
Emparejamiento incorrecto de la asignación de memoria y desasignación
Accediendo a un objeto como el tipo equivocado
Desbordamiento de punto flotante
Llamando (Puro) a los Miembros Virtuales del Constructor o Destructor
Eliminar un objeto derivado a través de un puntero a una clase base que no tiene un destru
Accediendo a una referencia colgante
Extendiendo el espacio de nombres `std` o` posix`
Desbordamiento durante la conversión hacia o desde el tipo de punto flotante
Conversión estática de base a derivada no válida
Función de llamada a través del tipo de puntero de función no coincidente
Modificar un objeto const
Acceso a miembro inexistente a través de puntero a miembro
Conversión derivada a base no válida para punteros a miembros
Aritmética de puntero no válido
Desplazando por un número de posiciones no válido
Volviendo de una función [[noreturn]]
Destruyendo un objeto que ya ha sido destruido.
Recursión de plantilla infinita
Capítulo 23: Comportamiento no especificado
Observaciones
Examples
Orden de inicialización de globales a través de TU
Valor de una enumeración fuera de rango
Reparto estático a partir de un valor falso *
Resultado de algunas conversiones reinterpret_cast
Resultado de algunas comparaciones de punteros
Espacio ocupado por una referencia.
Orden de evaluacion de argumentos de funcion.
Estado movido de la mayoría de las clases de biblioteca estándar
Capítulo 24: Concurrencia con OpenMP
Introducción
Observaciones
Examples
169
169
170
170
171
171
172
173
173
173
173
174
175
175
176
176
176
177
178
178
178
178
179
179
180
180
181
181
183
184
184
184
184
OpenMP: Secciones paralelas
OpenMP: Secciones paralelas
OpenMP: Parallel For Loop
OpenMP: Recopilación paralela / Reducción
Capítulo 25: Const Correccion
Sintaxis
Observaciones
Examples
Los basicos
Diseño correcto de la clase de Const
Constar los parámetros de función correcta
Constancia de la corrección como documentación
Funciones de miembros calificados para CV const :
Parámetros de la función const :
Capítulo 26: constexpr
Introducción
Observaciones
Examples
variables constexpr
funciones constexpr
Estática si declaración
Capítulo 27: Construir sistemas
Introducción
Observaciones
Examples
Generando entorno de construcción con CMake
Compilando con GNU make
Introducción
Reglas básicas
Construcciones incrementales
Documentación
184
185
186
186
188
188
188
188
188
189
191
193
193
195
198
198
198
198
198
200
202
204
204
204
204
204
205
205
205
207
207
Construyendo con scons
Ninja
Introducción
NMAKE (Utilidad de mantenimiento de programas de Microsoft)
Introducción
Autotools (GNU)
Introducción
Capítulo 28: Contenedores C ++
Comentarios de: Aprendizaje C++ (1)