Всюду, где указатели ($$R.8.2.1) присваиваются, инициализируются,сравниваются или используются иным образом, могут происходитьследующие преобразования: Константное выражение ($$R.5.19), которое сводится к нулю, преобразуется в указатель, обычно называемый пустым указателем. Гарантируется, что значение такого указателя будет отлично от любого указателя на объект или функцию. Указатель на объект любого типа, не являющегося const или volatile, можно преобразовать в void*. Указатель на функцию можно преобразовать в void*, при условии, что для void* отводится достаточно памяти, чтобы хранить этот указатель. Указатель на данный класс можно преобразовать в указатель на доступный базовый класс данного класса ($$R.10), если такое преобразование не содержит двусмысленность ($$R.10.1). Базовый класс считается доступным, если доступны его общие члены ($$R.11.1). Результатом преобразования будет указатель на объект типа базового класса, вложенный в объект типа производного класса. Пустой указатель (0) преобразуется сам в себя. Выражение типа "массив T" может преобразовываться в указатель на начальный элемент массива. Выражение типа "функция, возвращающая T" преобразуется в "указатель на функцию, возвращающую T", за исключением тех случаев, когда оно используется как операнд адресной операции & или операции вызова функции ().