Perguntas com a marcação «c++»

15
Contar linhas de arquivos de origem usando macros?

É possível, usando o pré-processador C / C ++, contar linhas dentro de um arquivo de origem, em uma macro ou em algum tipo de valor disponível no tempo de compilação? Por exemplo, eu pode substituir MAGIC1, MAGIC2e MAGIC3no seguinte, e obter o valor 4 de alguma forma quando se utiliza...

15
Roubar recursos das chaves do std :: map é permitido?

Em C ++, não há problema em roubar recursos de um mapa que eu não preciso mais mais? Mais precisamente, suponha que eu possua um std::mapcom std::stringchaves e que eu queira construir um vetor roubando os recursos das mapchaves s usando std::move. Observe que esse acesso de gravação às chaves...

14
std :: bit_cast com std :: array

Em sua recente palestra “Type punping in C ++ moderno”, Timur Doumler disse que std::bit_castnão pode ser usado para converter um bit floatem um, unsigned char[4]porque matrizes no estilo C não podem ser retornadas de uma função. Devemos usar std::memcpyou aguardar até C ++ 23 (ou mais recente)...

14
É necessário um nome de classe totalmente qualificado para o escopo global para definições de função de membro fora de linha?

Essa pergunta me fez pensar se é útil / necessário qualificar totalmente os nomes de classe (incluindo o operador de escopo global) em uma definição de função de membro fora da classe. Por um lado, nunca vi isso antes (e a sintaxe para fazê-lo corretamente parece obscura). Por outro lado, a...

14
Por que a dimensão de uma matriz faz parte de seu tipo?

Ao ler o livro C ++ Primer, deparei-me com esta declaração: "O número de elementos em uma matriz faz parte do tipo da matriz". Então, eu queria descobrir usando o seguinte código: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's',...