Передача по константной ссылке в C

Поддерживает ли C передачу по константной ссылке, как C ++? Если нет, есть ли другие способы сделать передачу по стоимости более эффективной? Я не думаю, что имеет смысл передавать ссылки на функцию только потому, что она более эффективна.

4

Решение

C не поддерживает ссылки или передачу по ссылке. Вы должны использовать указатели вместо этого и передавать по адресу. Передача по значению эффективна для примитивных типов, но делает поверхностную копию для структур.

В C ++ имеет много смысла передавать объекты по ссылке для эффективности. Это может сэкономить массу копирования и вызова конструкторов / деструкторов, когда определены конструкторы копирования. Для больших объектов данных (таких как std::list) нецелесообразно передавать по значению, потому что список будет скопирован при передаче. Здесь вы обязательно должны пройти по ссылке.

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]