O que significa copiar um objeto ? O que são o construtor de cópias e o operador de atribuição de cópias ? Quando preciso declará-los eu mesmo? Como posso impedir que meus objetos sejam
O que significa copiar um objeto ? O que são o construtor de cópias e o operador de atribuição de cópias ? Quando preciso declará-los eu mesmo? Como posso impedir que meus objetos sejam
Qual é esse idioma e quando deve ser usado? Quais problemas ele resolve? O idioma muda quando o C ++ 11 é usado? Embora tenha sido mencionado em muitos lugares, não tivemos nenhuma pergunta e resposta singular "o que é isso", então aqui está. Aqui está uma lista parcial dos lugares onde foi...
Você pode encontrar o seguinte na web: Tipo de classificação superior == tipo de construtor? class AClass[T]{...} // For example, class List[T] Alguns dizem que esse é um tipo de classificação mais alta, porque abstrai sobre tipos que seriam compatíveis com a definição. Tipos de...
Eu quero ter uma classe com um membro de dados estático privado (um vetor que contém todos os caracteres az). Em java ou C #, posso apenas criar um "construtor estático" que será executado antes de criar qualquer instância da classe e configurar os membros de dados estáticos da classe. Ele é...
Eu tenho uma aula: class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Como devo modificá-lo para desativar o código, como: SymbolIndexer...
Originalmente, eu postei isso como uma pergunta apenas sobre destruidores, mas agora estou adicionando consideração ao construtor padrão. Aqui está a pergunta original: Se eu quiser dar à minha classe um destruidor que seja virtual, mas que seja igual ao que o compilador geraria, eu posso usar...
Em C #, C ++ e Java, quando você cria um construtor que aceita parâmetros, o padrão sem parâmetros desaparece. Sempre aceitei esse fato, mas agora comecei a me perguntar por quê. Qual o motivo desse comportamento? É apenas uma "medida / palpite de segurança" dizendo "Se você criou um construtor...
Eu tenho uma aula com um private char str[256]; e por isso eu tenho um construtor explícito: explicit myClass(const char *func) { strcpy(str,func); } Eu chamo como: myClass obj("example"); Ao compilar isso, recebo o seguinte aviso: conversão descontinuada da constante de cadeia para...
Conforme a JPA exige, @Entity classes devem ter um construtor padrão (não arg) para instanciar os objetos ao recuperá-los do banco de dados. No Kotlin, é muito conveniente declarar propriedades no construtor principal, como no exemplo a seguir: class Person(val name: String, val age: Int) { /*...
Eu tenho tentado: class Foo(bar: Int) vs: class Foo(private val bar: Int) e eles parecem se comportar da mesma forma, embora eu não tenha encontrado nenhum lugar que diga que se (bar: Int)expanda, (private val bar: Int)então minha pergunta é: são idênticos / similares? Em uma nota lateral, eu...
Quero atualizar minha memória nas condições em que um compilador normalmente gera automaticamente um construtor padrão, um construtor de cópias e um operador de atribuição. Lembro-me de que havia algumas regras, mas não me lembro e também não consigo encontrar um recurso respeitável online. Alguém...
Com o C ++ 11 std::array, tenho a garantia de que a sintaxe std::array<T, N> x;inicializará por padrão todos os elementos da matriz? EDIT : se não, existe uma sintaxe que funcionará em todas as matrizes (incluindo matrizes de tamanho zero) para inicializar todos os elementos com seu valor...
Tome a seguinte aula como exemplo: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Em seguida, quero criar uma instância desse tipo usando reflexão: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Normalmente, isso...
Digamos que eu tenha um tipo e desejo que seu construtor padrão seja privado. Eu escrevo o seguinte: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error C2248: 'C::C'...
Fazer um construtor com vários argumentos explicittem algum efeito (útil)? Exemplo: class A { public: explicit A( int b, int c ); // does explicit have any (useful) effect? };
Eu sei que o compilador C ++ cria um construtor de cópia para uma classe. Nesse caso, temos que escrever um construtor de cópia definido pelo usuário? Voce pode dar alguns exemplos?
Desde um construtor de cópia MyClass(const MyClass&); e uma = sobrecarga de operador MyClass& operator = (const MyClass&); tem praticamente o mesmo código, o mesmo parâmetro, e só diferem no retorno, é possível ter uma função comum para os dois usarem?
Por design, std::mutexnão é móvel nem copiável. Isso significa que uma classe que Acontém um mutex não receberá um construtor de movimento padrão. Como eu tornaria esse tipo Amóvel de maneira segura para thread?
Eu tenho uma classe como esta: struct event_counts { uint64_t counts[MAX_COUNTERS]; event_counts() : counts{} {} // more stuff }; Normalmente, eu quero padrão (zero) inicializar a countsmatriz como mostrado. Em locais selecionados identificados por criação de perfil, no entanto, eu...
É válido copiar uma estrutura em que alguns dos membros não são inicializados? Suspeito que seja um comportamento indefinido, mas, se for o caso, torna perigoso deixar membros não inicializados em uma estrutura (mesmo que esses membros nunca sejam usados diretamente). Então, eu me pergunto se há...