Ir ao conteúdo
  • Cadastre-se

Edmorte

Membro Pleno
  • Posts

    172
  • Cadastrado em

  • Última visita

Tudo que Edmorte postou

  1. O compilador tenta ser o mais inteligente o possível, isso é o que destaca as linguagens compiladas das linguagens interpretadas. No caso, quando você declara um tipo template na classe, o compilador não tem como saber qual tipo ele será pelo uso, pois não existe uso ainda definido. A classe poderia inferir do construtor? Mas podemos ter N construtores... Nesse caso o compilador não tem como saber qual será o tipo usado pela classe e exige a sua declaração. Quando você declara apenas os métodos template (genérico no C# e Java) o compilador infere o tipo, pois é óbvio para ele devido ao tipo do parametro, cabendo inclusive a diferenciação por tipo e overload de métodos. Tanto é que alguns programadores escrevem classes Wrapper para encapsular classes Template e criá-las com uma chamada (estática?) para utilizar a inferência de tipo. Perceba o exemplo abaixo, use apenas como exemplo, não recomendo ponteiros "pelados" template<typename T>class Generic{public: Generic(T xpto) { }};class GenericFactory{public: template<typename T> static Generic<T>* GetGeneric(T val) { return new Generic <T> { val }; }}; Uso sem especificar o tipo: auto gInferido = GenericFactory::GetGeneric(5);delete gInferido; No C++14 poderemos usar auto como retorno do método GetGeneric. Lembre-se do ponto chave, você só precisa especificar o tipo quando o compílador não consegue inferir por você.
  2. Nossa cara você foi do vinho pra água, só falou bobagem... 1° Estou com ambas as IDE's abertas aqui, e o Netbeans está consumindo O DOBRO da memória. 2° Baseado no seu argumento você acabou de se contradizer, afinal os super simples são os que menos consomem não, logo o Violator tinha razão? Na moral, separem seus gostos pessoais das opiniões profissionais, senão o fórum desanda.
  3. ^^ Melhor IDE chama-se Visual Studio. Depois dela tem Netbeans e Eclipse. Depois vem o amadorismo, a perda de tempo e os erros organizando arquivos de fonte e header. Linux é pra programador ou servidor, usuário iniciante é um lixo. Eu não uso, nunca precisei e tentei várias vezes e não gostei. Tenho uma filosofia muito simples, tempo é para ser gasto com objetivo fim e não configurando SO ou catando arquivos em bloco de notas.
  4. Aqui no meu VS2013 W8 não compila, vários erros.
  5. Isso com certeza é no fórum de eletrônica.
  6. Olha man, do jeito que você postou fica difícil de ler, use a tag code e coloque com a indentação o código pra ajudar quem tá lendo. No mais, se você vai estudar a sério, prefira o gcc com netbeans/eclipse ou o visual c++ no visual studio express. Dev é muito ruim e permissivo.
  7. Olha man, do jeito que você postou fica difícil de ler, use a tag code e coloque com a indentação o código pra ajudar quem tá lendo. No mais, se você vai estudar a sério, prefira o gcc com netbeans/eclipse ou o visual c++ no visual studio express. Dev é muito ruim e permissivo.
  8. char[] x = { 'H', 'A', 'B', 'C', 'F', 'a', 'Z', 'b' }; string result = string.Empty; for (int i = 0; i < x.Length; i++) { for (int j = i + 1; j < x.Length; j++) { if (x[i] > x[j]) { char temp = x[i]; x[i] = x[j]; x[j] = temp; } } result += x[i]; }
  9. char[] x = { 'H', 'A', 'B', 'C', 'F', 'a', 'Z', 'b' }; string result = string.Empty; for (int i = 0; i < x.Length; i++) { for (int j = i + 1; j < x.Length; j++) { if (x[i] > x[j]) { char temp = x[i]; x[i] = x[j]; x[j] = temp; } } result += x[i]; }
  10. Cara to achando estranho, é em C# mesmo? Não seria em C? Você não postou no fórum errado?
  11. Cara to achando estranho, é em C# mesmo? Não seria em C? Você não postou no fórum errado?
  12. 1° coisa, C# é a linguagem a qual eu trabalho por isso serei um pouco mais rigoroso nas minhas respostas. 2° Seu professor deveria parar de perder tempo com esses exercícios toscos das aulas de C. C# é uma linguagem de alto nível. 3° A concatenação de chars pode ser alcançada de diversas formas, for seria a pior delas. Uma delas seria usando linq. 4° Como nada disso é culpa sua, vamos a solução. X = {'A', 'B', 'C'}; essa é a declaração correta. 5° Não use nomes maiúsculos para variáveis. char[] x = { 'A', 'B', 'C' }; string result = string.Empty; Array.Sort(x); foreach (var item in x) { result += item; } Esqueci de ordenar... DONE. Espero que o Array.sort() mostre o porque do meu post, ficar brincando de C no C# é perda de tempo.
  13. 1° coisa, C# é a linguagem a qual eu trabalho por isso serei um pouco mais rigoroso nas minhas respostas. 2° Seu professor deveria parar de perder tempo com esses exercícios toscos das aulas de C. C# é uma linguagem de alto nível. 3° A concatenação de chars pode ser alcançada de diversas formas, for seria a pior delas. Uma delas seria usando linq. 4° Como nada disso é culpa sua, vamos a solução. X = {'A', 'B', 'C'}; essa é a declaração correta. 5° Não use nomes maiúsculos para variáveis. char[] x = { 'A', 'B', 'C' }; string result = string.Empty; Array.Sort(x); foreach (var item in x) { result += item; } Esqueci de ordenar... DONE. Espero que o Array.sort() mostre o porque do meu post, ficar brincando de C no C# é perda de tempo.
  14. ATENTION!!! Já resolvi o código, e com todo respeito o meu tá bem melhor... Mas não vou postar até que se manifestem.
  15. Não precisa se desculpar, meu comentário é justamente para criar impacto e fazer com que as pessoas procurem opções melhores. Você pode usar ponteiro como um array, é muito mais fácil e menos propenso a erros. Até porque todo array é passado para função como ponteiro. Quando eu falei do CODE, era pra você usá-lo para ele manter a indentação do código Desse jeito continua ruim de ler. Pegue do seu editor, que eu acredito esteja indentado e copie dentro das tags code que ele vai manter as indentações. Ok? Aproveitando a sua deixa, ponteiros não são a única forma de passar por referência, existe outro recurso na linguagem que faz isso o operador &. Que também é pouco utilizado e evita muitas dores de cabeça. Agora se você só precisa passar de ano, realmente apenas siga o que o professor te passa, mas se pretende se tornar uma programadora em C precisa largar esses conceitos e melhorar bastante. No aguardo.
  16. É meio irônico ler o seu código, pois vocês não sabem debugar ele, mas querem usar aritmética de ponteiro, uma das técnicas mais difíceis e propensas a erro que existe. Usem subscript []. Segundo, usa a tag code pra posta, porque do jeito que você postou sem condições de ler. Se postarem num formato legal até leio. Boa sorte. Aproveitar que eu já to na área, não é a primeira vez que vejo as pessoas dando return no final de uma função void e/ou chamando main(); Um é desnecessário, o outro é errado de tantas maneiras que nem sabia que dava pra fazer isso...

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!