Запретить ссылку или указатель на объект? [Дубликат]

Лучший способ и самый простой способ получить хороший var_dump - использовать xDebug (должен иметь для любого php dev) Debian way install

В консоли: apt-get install php-xdebug после этого вы должны открыть php.ini (зависит на какой стек вы используете) для его /etc/php/7.0/fpm/php.ini

Найти display_errors

установить одинаково -> display_errors = On

Проверьте html_errors в том же файле немного ниже, это также должно быть On

Сохранить и выйти

После открытия /etc/php/7.0/fpm/conf.d/20-xdebug.ini

И добавьте в конец: `` `xdebug.cli_color = 1

` `` Сохранить и выйти.

Здесь может быть найдена еще одна доступная опция и документация для xdebug.

https://xdebug.org/docs/

Удачи и получайте удовольствие !!!

Результат

15
задан san 5 November 2012 в 18:17
поделиться

2 ответа

Я не думаю, что сделать оператор & amp; private делает это, есть ли законный способ сделать это.

Нет, потому что &, который вы используете в сигнатурах функций для передачи по ссылке, не является оператором. Вы говорите либо об адресе оператора (унарного), либо побитового - и оператора (двоичного). Таким образом, это не имеет никакого отношения к передаче по ссылке.

Невозможно запретить передачу по ссылке для типа.

Я сомневаюсь, что ваша мотивация достаточно сильна, чтобы сделать это, и у вас плохое представление о механизме передачи:

Если какая-либо функция пытается получить ее по ссылке, я бы хотел, чтобы она давала ошибку компиляции (в идеале) или запуска временная ошибка.

Функция либо передает параметр по ссылке, либо по значению. Это определяется его заявлением, и я думаю, что ваше замешательство проистекает отсюда. Например:

void foo(X x);

принимает значение x по значению. Невозможно передать его по ссылке. Ни за что. Аналогично:

void foo(X& x)

берет его по ссылке, и он всегда будет.

7
ответ дан Luchian Grigore 3 September 2018 в 15:49
поделиться

Это невозможно. Любая именованная переменная может привязываться к ссылочной переменной соответствующего типа. Это как раз то, как работает язык.

В частности, у вас никогда не было бы конструктора copy с вашим ограничением, поэтому вы не могли бы фактически передать объект по значению!

18
ответ дан Kerrek SB 3 September 2018 в 15:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: