Prova PCF03 de 2001 – Questão 32 item 3

Você pode gostar...

5 Resultados

  1. Paulo disse:

    Não concordo! Tudo o que o Esley citou são possibilidades da utilização de ponteiros através da sua manipulção que a linguagem C fornece.

    O conceito de ponteiros (apontador) é: um tipo de dado cujo valor se refere diretamente a uma valor alocado em uma area de memória.

    O que é possível se fazer com ela, pode variar de linguagem para linguagem. O C teria a possibilidade de utilizar os ponteiros de forma que o Java não poderia, mas isso não muda o conceito de ponteiro, que pode ser emulado através de referência (ponteiro não-explícito?).

    Então pessoal, essa questão está correta ou incorreta?

  2. Esley Bonomo disse:

    Bom Galera, bom dia a todos.

    Quando falamos em ponteiro, inicialmente vem em mente Strings em C (char *) e que se trata basicamente de uma referencia a primeira posicao da string. Mas o conceito de ponteiro eh muito maior que uma simples referencia a um objeto. Com ponteiros pondemos ter referencia a funcoes, por exemplo.  Sao usados para fazer referencia principalmente a tipo nao continuos em memoria, como listas, arvores e grafos, ou seja, alocacao dinamica de memoria (acesso direto a memoria usando endereços), o que causa muitos erros de programadores que nao sabem e/ou esquecem de alocar e desalocar memoria.

    Em Java o que temos eh somente uma referencia a um objeto e ponto final. Todo trabalho de alocacao de memoria eh a propria linguagem que trata, nao precisamos nos preocupar com nada.
    Entao acho melhor diferenciarmos Ponteiros e Referencias. O conceito de ponteiro eh muito maior que uma referencia. Entao em JAVA falar “a referencia do objeto X” eh muito mais correto, pois não existe um acesso direto a memória usando endereço.

    Bom acho que eh isso.

    Fontes de consulta:
    <a href=”http://pt.wikipedia.org/wiki/Ponteiro_(programa%C3%A7%C3%A3o)” title=”Ponteiro (programação)”>

    Abracos

    Esley Bonomo
    SCJP 5.0

  3. jubasa disse:

    Boa noite Regis e a todos. 

    Essas investidas só nos fazem bem, nos enriquecem sobre o assunto, portanto, vou postar um paragrafo do Java Tutorial – Copyright 1995-2003 Sun Microsystems, Inc. All rights reserved. 

    “A reference is called a pointer , or a memory address in other languages. The Java programming language does not support the explicit use of addresses like other languages do. You use the variable’s name instead.”

    Abraços

    Bons estudos.

    Juliano Ramalho

  4. Regis disse:

    Tipos equivalentes a ponteiros do C++ não podem ser construídos em java. Em C++ há ponteiro para função, há aritmética de ponteiros, há ponteiros para tipos primitivos, etc … que não são possíveis construir em Java. Em Java dá para fazer o que mais simples um ponteiro em c++ faz…

  5. Regis disse:

    O que diz este White Paper da SUN: There are no pointers in Java

    http://java.sun.com/docs/white/langenv/Simple.doc2.html

    2.2.9 No More Pointers

    Most studies agree that pointers are one of the primary features that enable programmers to inject bugs into their code. Given that structures are gone, and arrays and strings are objects, the need for pointers to these constructs goes away. Thus, Java has no pointer data types. Any task that would require arrays, structures, and pointers in C can be more easily and reliably performed by declaring objects and arrays of objects. Instead of complex pointer manipulation on array pointers, you access arrays by their arithmetic indices. The Java run-time system checks all array indexing to ensure indices are within the bounds of the array.
    You no longer have dangling pointers and trashing of memory because of incorrect pointers, because there are no pointers in Java.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *