Принципы объектно-ориентированного программирования

         

Операторы для работы с указателями C/C++.



Табл. 17-1. Операторы для работы с указателями C/C++.

Оператор



Описание

&

Оператор адрес (address-of) возвращает указатель, представляющий

*

Оператор разыменования (dereference) обозначает значение

->

Оператор разыменования и доступа к члену (dereferencing and member access) используется для доступа к члену и разыменования указателя.

Следующий пример покажется знакомым любому разработчику на С или C++. В нем я вызываю метод, принимающий два указателя на переменные типа int и изменяющий их значения перед возвратом управления вызывающей функции. Не сильно впечатляющая, но действительно наглядная иллюстрация применения указателей на С#.

// Компилируйте это приложение с параметром /unsafe using System;

class UnsafelApp {

public static unsafe void GetValues(int* x, int* y)

{

*x = 6;

*y = 42; }

public static unsafe void Main()

{

int a = 1; int b = 2; Console.WriteLine("Before GetValuesO : a = {0>, b = {1}",

a, b);

GetValues(&a, &b); Console.WriteLine("After GetValuesO : a = {0}, b = {1}",

a, b); } }

Этот пример необходимо скомпилировать с параметром компилятора /unsafe. Полученное приложение должно выдать:

Before GetValuesO : a = 1, b = 2 After GetValuesO : a = 6, b = 42



Содержание раздела