Pregunta

Yo tenía un examen Brainbench hace poco, llegué marca alta, pero había un par de preguntas que eran difíciles para mí. Tal vez sea porque Inglés no es mi lengua materna ... Una de las preguntas es:

¿Cuál de las siguientes opciones describe seguridad de tipos?

  1. Un constructo de programación utilizado para garantizar la seguridad de los tipos de referencia y el valor en el CLR
  2. La protección contra la pérdida de memoria como resultado de no permitir el acceso no administrado
  3. La función de CLR específica que proporciona garantías de que los tipos pueden no tener acceso a la memoria fuera de su propio dominio de aplicación
  4. Un mecanismo creado para proteger a los conjuntos y sus tipos mediante el uso de claves con nombre
  5. El concepto de tratar con garantías de que los objetos asignados siempre son accesibles de forma compatible

Creo que es 1 o 5, pero que suena extraño para mí de todos modos: (

¿Qué opinas?

¿Fue útil?

Solución

En realidad creo que es la opción 5 porque la seguridad de tipo no tiene nada que ver con la seguridad.

Otros consejos

Tipo de seguridad es la característica de un lenguaje diseñado para hacer valer [Robin Milner] [1] 's famoso eslogan acerca de la programación ML: programas bien escritos, no puede ir mal .

El lema necesita un poco de desembalaje antes de que pueda ser entendida correctamente, pero básicamente significa que los programas no pueden fallar debido a un error de tipo en tiempo de ejecución, es decir, cuando los parámetros aplicados al constructor o una función tienen los valores de tipo incompatible.

Considere un lenguaje que permite números enteros, funciones enteros como valores de primera clase, abstracción función y aplicación de función parcial, y que define los operadores aritméticos enteros habituales como funciones binarias. La propiedad de la seguridad de tipos es lo que el compilador hace cumplir para asegurar que tanto los argumentos para el operador de suma son expresiones que reducen a números enteros y no a funciones. Si está bien escrito, un programa, el compilador puede emitir un objeto ejecutable para él. De lo contrario, lo marca de error de programación y aborta.

De acuerdo con el enlace de MSDN proporcionada a continuación, http://msdn.microsoft.com/en-us/library/hbzz1a9a.aspx

Código de tipo de fallos sólo accede a las posiciones de memoria que está autorizado a acceder. (Para esta discusión, la seguridad tipo se refiere específicamente a la seguridad tipo de memoria y no debe confundirse con la seguridad de tipos en un aspecto más amplio.) Por ejemplo, el código de tipo seguro no puede leer los valores de los campos privados de otro objeto. Accede a tipos únicamente en lugares bien definidos, formas permitidas.

  

Opción 5   El concepto de tratar con garantías de que los objetos asignados siempre se accede de un modo compatible

Tipo de seguridad se ocupa de asegurar que cuando se crea un Foo, no se puede tratar como un bar. Si usted no sabe qué tipo es (o no está garantizado), el código se escribe simplemente no podría funcionar como se esperaba.

idiomas de tipo seguro se asegurará de que (en tiempo de compilación) que no se llama a métodos incompatibles en un tipo, por ejemplo, longitud () en un tipo int. Las lenguas no con seguridad de tipos lo resolverán en tiempo de ejecución. Por lo tanto, la elección 5.

Como otros han dicho, la elección 5 ...

En general - para .NET, consulte el sistema de tipos común (CTS), que permite cosas entre lenguajes y la seguridad de tipos.

Salida: http://en.wikipedia.org/wiki/Type_safety . ..

Es la opción # 5. Tipo de seguridad es una garantía, no es una cosa concreta. Es posible que el código .NET a no a salvo ... Tipo decir en el caso de que una asamblea utiliza código no seguro para realizar llamadas no administrados (PInvoke). Durante JIT, un proceso que se realiza que verifica la tipos siendo compilados JIT son, de hecho, el tipo de seguro. No estoy al tanto de ningún detalle acerca de este proceso, pero si un tipo compilados JIT pasa, entonces es verificable y es considerado un tipo seguro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top