-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcppheaders.txt
328 lines (231 loc) · 7.29 KB
/
cppheaders.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
-COMENTÁRIOS-
_______________________BIBLIOTECA PADRÃO__
BIBIOTECAS C SÃO PREFIXADAS COM c
<cassert> (assert.h)
C Diagnostics Library (header)
<cctype> (ctype.h)
Character handling functions (header)
<cerrno> (errno.h)
C Errors (header)
<cfenv> (fenv.h)
Floating-point environment (header)
<cfloat> (float.h)
Characteristics of floating-point types (header)
<cinttypes> (inttypes.h)
C integer types (header)
<ciso646> (iso646.h)
ISO 646 Alternative operator spellings (header)
<climits> (limits.h)
Sizes of integral types (header)
<clocale> (locale.h)
C localization library (header)
<cmath> (math.h)
C numerics library (header)
<csetjmp> (setjmp.h)
Non local jumps (header)
<csignal> (signal.h)
C library to handle signals (header)
<cstdarg> (stdarg.h)
Variable arguments handling (header)
<cstdbool> (stdbool.h)
Boolean type (header)
<cstddef> (stddef.h)
C Standard definitions (header)
<cstdint> (stdint.h)
Integer types (header)
<cstdio> (stdio.h)
C library to perform Input/Output operations (header)
<cstdlib> (stdlib.h)
C Standard General Utilities Library (header)
<cstring> (string.h)
C Strings (header)
<ctgmath> (tgmath.h)
Type-generic math (header)
<ctime> (time.h)
C Time Library (header)
<cuchar> (uchar.h)
Unicode characters (header)
<cwchar> (wchar.h)
Wide characters (header)
<cwctype> (wctype.h)
Wide character type (header)
BIBLIOTECAS C++
MISCELÃNEA:
<algorithm>
Standard Template Library: Algorithms (library)
<chrono>
Time library (header)
<codecvt>
Unicode conversion facets (header)
<complex>
Complex numbers library (header)
<exception>
Standard exceptions (header)
<functional>
Function objects (header)
<initializer_list>
Initializer list (header)
<iterator>
Iterator definitions (header)
<limits>
Numeric limits (header)
<locale>
Localization library (header)
<memory>
Memory elements (header)
<new>
Dynamic memory (header)
<numeric>
Generalized numeric operations (header)
<random>
Random (header)
<ratio>
Ratio header (header)
<regex>
Regular Expressions (header)
<stdexcept>
Exception classes (header)
<string>
Strings (header)
<system_error>
System errors (header)
<tuple>
Tuple library (header)
<typeindex>
Type index (header)
<typeinfo>
Type information (header)
<type_traits>
type_traits (header)
<utility>
Utility components (header)
<valarray>
Library for arrays of numeric values (header)
INPUT/OUTPUT STREAM LIBRARY
https://cplusplus.com/img/iostream.gif
ATOMICS AND THREADING LIBRARY
<atomic>
Atomic (header)
<condition_variable>
Condition variable (header)
<future>
Future (header)
<mutex>
Mutex (header)
<thread>
Thread (header)
_____________________ _____________________ _____________________
//
//
//DESCRIÇÃO DA REFERÊNCIA PESSOAL.
//
//
lib.cpp----------Descrição---------
inclusões de cabeçalhos devem ser iguais para cabeçalho .hpp
e o .cpp com as definições de funções membro.
THIS
this pode ser usado para resolver conflito
de escopo entre uma variável local da função
membro e variável membro da classe:
Person::Person()
{
int idade;
this->idade = 1;
}
COSTRUTOR DEFAULT - O contrutor padrão que inicializa (ou não) as variáveis membros.
Um construtor com valores de paramêtro padrão torna-se default.
SOBRECARGA DO CONSTRUTOR - Construtores alternativos que recebem parâmetros de inicialização.
Um parâmetro de construtor não precisa ser igual a o nome da variável membro.
A sobrecarga do construtor deve também alocar memórias os membros ponteiros.
A inicialização em notação de : nome(valor) deve respeitar a ordem
em que as variáveis membro foram definidas no cabeçalho hpp.
DESTRUTOR - Desaloca memória de variáveis ponteiro alocadas.
CONSTRUTORES DE DERIVADAS - Devem chamar os respectivos construtores das classes base.
EXPLICIT - impede a conversão inplicita de tipo. Declarada apenas na classe.
Exemplo: explicit int func(void);
VIRTUAL - função que assume formas diversas nas classes derivadas.
OVERRRIDE - função que substitui a implentação da função virtual na classe base.
lib.hpp----------Descrição---------
no header: structs, unions, classes, enumerações, defines e campo_de_bits.
ENCAPSULAMENTO - Dados devem ser modificados externamente por métodos públicos
Funções membro privadas podem ser acessadas por funções membro publicas.
Vide: classes de acesso
STATIC - variável membro igual para todas as instâncias.
Exemplo de uso: Contagem de instânciação de objetos. valor comun a vários objetos.
CONST - funções membro constantes não podem modificar varíaveis membro. Exceto se a
variável membro for MUTABLE
faz método público ser capaz de mudar variável membro private.
PUBLIC - acessível pelas classes derivadas e em qualquer lugar do programa.
PROTECTED - acessível pelas classes derivadas e funções membro internas.
PRIVATE - acessível apenas na classe e seu próprios métodos.
INLINE:
função membro com {} bloco definido dentro de class, inline inplicito.
keyword inline para especificar fora da classe.
HERANÇA:
Herdeira pública
.
Herdeira protegida
.
Herdeira privada
.
OPERATOR - função membro operator para sobrecarregar um operador:
Ex: Unário(--, ++), Binário(+,-,*,/ ...)
SOBRECARGA DE OPERADORES BINÁRIOS
Genericamente, a função operator(membro da
classe) sempre necessita de um argumento
a menos do que o número de operandos do
operador.
Resumo: método que recebe uma Classe A nos parâmetros
Instância uma classe RETORNO local.
elementos de RETORNO local = varíaveis_membro + A forasteiro
demo.cpp----------Descrição---------
Compilação e linkedição desta referência:
g++ -Wall -Wextra teste.cpp prg.cpp -o teste
Em C++, Ao contrário de C, protótipos de
funções não são necessários.
REGISTER indica ao compilador que se for possível, trabalhe
com a váriavel em um dos registradores da cpu.
INLINE
função inline não é um salto para subrotina (no assembly) mas
sim uma cópia do código onde ela for chamada. Mais veloz/ocupa memória
Recomendado para pequenas funções.
SOBRECARGA DE FUNÇÃO
Uma função pode ser sobrecarregada, ou seja, nome igual mas número de parâmetros
diferente.
TEMPLATES e funções (pode ser em funções membros)
Torna possível a escrita de uma função
capaz de lidar com vários tipos de dados
(incluindo dados definidos pelo programador
em classes).
NAMESPACE - Espaços de nomes capazes de isolar definições (mesmo as idênticas).
using namespace - .
MUTABLE/CONST (CLASSE) - objetos constantes podem chamar seus métodos com const para
modificar a variável membro mutable.
TRY, TROW, CATCH - tratamento de exessões lógicas.
extra----------Descrição---------
Classes podem ser passados nos parâmetros de funções
(com ponteiros ou não) e funções membro (assim como os structs)
Pessoa funcao(Pessoa alpha)
{
return apha;
}
Variáveis definidas em um switch case são visíveis
para os demais cases. Use {} para imperdir isto.
case 2:
{
funcao(Pessoa alpha);
}
Referências VS Ponteiros em funções
void funcaoA(Agiota* beta)
{
std::cout << beta->cobranca;
}
void funcaoB(Agiota gama)
{
std::cout gama.cobranca;
}
static_cast<tipo> (OBJETO)
Pode fazer:
·converter um ponteiro de uma classe base para um ponteiro
de uma classe não virtual (downcasting).
·converter tipos de dados numericos como enums, ints ou floats.