Получение исключения нулевого указателя в простой реализации маршрутизатора vertx

В этом контексте & amp; делает переменную ссылкой.

Обычно, когда вы передаете переменную функции, переменная копируется и функция работает над копией. Когда функция возвращается, исходная переменная не изменяется. Когда вы передаете ссылку, копия не создается, и изменения, внесенные функцией, появляются даже после возвращения функции.

C не имеет ссылок, но ссылка C ++ функционально такая же, как указатель в C. Действительно, единственное отличие состоит в том, что указатели должны быть разыменованы при их использовании:

    *filename = "file.wav";

Но ссылки могут использоваться так, как если бы они были исходной переменной:

    filename = "file.wav";

Якобы, ссылки не должны быть нулевыми, хотя это не исключено, что это произойдет.

Эквивалентная функция C будет:

     void read_wav(const char* filename)
     {

     }

Это потому, что C doesn ' t имеют string. Обычная практика в C заключается в том, чтобы отправить указатель на массив символов, когда вам нужна строка. Как и в C ++, если вы введете строчную константу

    read_wav("file.wav");

Тип const char*.

1
задан user3243499 18 March 2019 в 17:42
поделиться